以下划线开头的 S3 对象作为 Glue DynamicFrame 进行读取。

0

【以下的问题经过翻译处理】 我将JSON数据存储在S3上,然后在其上创建Glue表。这些数据被分区,我使用Glue爬虫更新表分区。然后,我将这些数据作为Glue作业中的Glue DynamicFrame加载。我使用Glue 3.0,并使用awsglue包的GlueContext.create_dynamic_frame.from_catalog方法创建DynamicFrame。

这对于我的大部分数据很有效,但由于一些原因,DynamicFrame无法加载S3中以下划线开头的文件名的数据。我使用两个完全相同的对象进行重现,一个命名为something,另一个命名为_something_something对象未读入DynamicFrame,但在将对象重命名为something_else(开头没有下划线)后,它成功地被读入DynamicFrame。

查询了一些搜索结果,告诉我这可能是Presto的一个“特性”。Athena在底层使用Presto,而Glue在底层使用Athena?从presto版本0.60开始,Presto忽略以下划线_或点.开头的文件。有一个org.apache.hadoop.hive.common.FileUtils.HIDDEN_FILES_PATH_FILTER属性,但我不确定是否可以在Glue中配置此属性。

profile picture
专家
已提问 5 个月前4 查看次数
1 回答
0

【以下的回答经过翻译处理】 您好,

请注意,目前使用Glue动态帧处理以“_”下划线开头的S3对象名称存在已知限制。因此,您可以通过重命名以下划线开头的对象作为解决方法。 另外,Glue不使用Athena,因此您无法在Glue中配置任何关于此的内容,因为这是一个限制。 谢谢!

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则