【发布时间】:2021-04-16 11:06:27
【问题描述】:
我有一个简单的胶水 etl 作业,由胶水工作流程触发。它从爬虫表中删除重复数据,并将结果写回 S3 存储桶。作业成功完成。但是,spark 生成“$folder$”的空文件夹仍保留在 s3 中。它在层次结构中看起来不太好,并导致混乱。成功完成作业后,有什么方法可以配置火花或胶水上下文以隐藏/删除这些文件夹?
【问题讨论】:
-
根据this,是Hadoop造成的。我猜你可以使用 lambda 函数在 S3 对象创建事件中删除
$folder$。 -
感谢您的评论@AchyutVyas。我宁愿避免手动删除......奇怪的是那些 $folder$ 并不总是被创建......我怀疑当我手动触发胶水作业时,它不会创建文件夹但是当我使用工作流,这些文件夹被创建。虽然不确定!必须再次测试。将很快更新问题...
-
嘿,@Lina 使用 lambda 删除
$folder$不是手动删除。请您也测试一下,删除$folder$后是否也使用相同的作业触发方法创建? -
感谢@AchyutVyas。通过说手动,我的意思是执行额外的操作来隐藏/删除文件夹。我更愿意以一种根本不会生成文件夹的方式配置 spark。我在本地对此进行了测试,发现了一件有趣的事情。如果我使用 [AWS 胶水库] (learning.tusharsarde.com/2019/11/…) 在本地运行胶水作业,它不会在云 s3 存储桶中创建 $folder$。我尝试使用相同的胶水版本,禁用云作业中的书签,但云作业会创建这些文件夹。仍在测试以查看区别是什么
-
@AchyutVyas 找到了答案。请在下面查看我的答案。
标签: amazon-web-services aws-glue aws-glue-spark aws-glue-workflow