AWS Glue relationalize 不将数据存储到 s3

问题描述 投票:0回答:1

我已将 DynamoDB 表加载到 DynamicFrame 中,然后使用以下选项运行

relationalize

df_contracts_rel = df_contracts_normalized.relationalize(
    "contracts",
    staging_path=f"s3://data-export-{aws_account_id}-{aws_region}/temporary/relationalized/",
)

我正在使用 Glue 交互式会话。

一段时间后,工作完成了,但似乎关系化没有将任何内容存储到 s3 存储桶中。没有错误。

当我多次运行它时,我最终耗尽了本地存储空间,所以看起来 Glue 一直在将数据文件存储到本地文件系统中。

为什么会发生这种情况? 没有错误,并且 Glue 作业使用的角色对存储桶具有

PutObject*
ListBucket
权限。

amazon-web-services aws-glue
1个回答
0
投票

我最终能够找到问题所在。

当关系化操作期间出现问题时,AWS Glue 和 DynamicFrame 似乎会出现问题。

我发现关系化操作产生的结果中的根数据帧有大量错误。我使用

errorsAsDataFrame
操作来跟踪问题。

这个问题也很神秘,是由底层 DataFrame 中使用的

Decimal
类型引起的,这是 DDB 反序列化的结果。

AWS Glue 似乎在 Decimal 类型方面存在问题,它甚至尝试将其用作根关系连接键并进入某个循环。

这一切造成了很多问题,并最终导致本地存储耗尽。

© www.soinside.com 2019 - 2024. All rights reserved.