如何解决直接在Glue Job中从s3中读取时删除记录
我有一个s3前缀,其中包含几个小的json(bz2压缩)文件。 s3前缀的路径如下:
s3://my-bucket/obj_type=apple/year=2020/month=5/day=6/hour=9/minute=15
此前缀(count1) = 1519
中的记录数1519是通过以下命令获得的:
aws s3 ls --summarize --human-readable --recursive s3://my-bucket/obj_type=apple/year=2020/month=5/day=6/hour=9/minute=15 --profile my-profile | grep 'Total'
在粘贴工作中,我正在使用glueContext.create_dynamic_frame_from_options
直接从上述前缀以及groupFiles
和groupSize
参数中读取内容,如以下代码段所示:
datasource0 = glueContext.create_dynamic_frame_from_options("s3",{'paths': ["s3://my-bucket/obj_type=apple/year=2020/month=5/day=6/hour=9/minute=15/"],'recurse':True,'groupFiles': 'inPartition','groupSize': '1048576'},format="json",format_options={"multiLine": "false"})
print(str(datasource0.count()),flush=True)
此Glue作业的标准输出为1424,即Glue (count2)
读取的记录数我使用groupFiles
和groupSize
参数是因为我想避免在读取此前缀中的所有小文件时出现OOM错误(请参阅{{3中的“缩放以处理大量小文件”) }}。
但是,我不确定是什么引起了count1 vs count2的差异。关于这个有什么建议吗?谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。