首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWS胶水火花作业突然删除S3文件夹

AWS胶水火花作业突然删除S3文件夹
EN

Stack Overflow用户
提问于 2022-08-26 06:26:01
回答 1查看 266关注 0票数 1

我的胶水工作流程是DDB ->胶水表(使用Crawler) -> S3 (使用胶水作业)

在运行工作流之前,我手动创建S3文件夹。

  1. For DDB表,其大小为500 MB总是运行良好的(运行7-10分钟即可完成),s3路径将有正确的结果:例如:s3://glue_/ddb_500 MB/(连接到s3后在雅典娜检查数据是正确的)

  1. For DDB表的大小为50 s3的文件夹被胶水作业删除(运行2小时即可完成,没有错误),例如S3:// GLUE _/ddb_ 50GB该文件夹被删除。( path)

i为s3启用了日志,而在日志中,GlueJobRunnerSession在此文件夹s3上使用了DeleteObject

  1. 此删除文件夹行为不一致,大多数情况下都会发生,但如果我发现该文件夹已被删除,并手动创建,下一次运行将在s3文件夹中有正确的数据。

  1. 胶水作业的代码(Glue 3.0 -支持Spark3.1,Scala 2,Python3)非常简单。写入s3的唯一行是:

工作流/作业的

  1. 并发为1,因此它不是由竞争引起的问题

我使用覆盖保持文件夹只有最新的数据。但是我不知道为什么这会继续删除以大容量DDB作为数据源的文件夹。有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-29 02:09:39

这个问题是由于整个表被读取到单个分区,因为它是默认行为。在从DDB表读取数据时增加dynamodb.splits应该会有所帮助,因为它将数据并行地读取到多个partitions.Below中是pySpark中的一个例子。

代码语言:javascript
复制
dyf = glue_context.create_dynamic_frame.from_options(
    connection_type="dynamodb",
    connection_options={"dynamodb.input.tableName": "test_source",
        "dynamodb.throughput.read.percent": "1.0",
        "dynamodb.splits": "100"
    }
)

有关更多信息,请参阅下面的链接:

https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-connect.html#aws-glue-programming-etl-connect-dynamodb

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73496856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档