以下划线开头的 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 個月前檢視次數 7 次
1 個回答
0

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

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

profile picture
專家
已回答 5 個月前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南