[英]Update Athena Table using AWS Data Wrangler
我开始分别使用AWS Data Wrangler
和Athena
将我的数据文件上传到 S3,并能够查询它们。 我的问题是关于“安全地”更新表中数据的过程。
这是我所做的:
我使用了 AWS Data Wrangler,
wr.s3.to_parquet( df=my_df, path='s3://temp', dataset=True, partition_cols = ['date'], concurrent_partitioning = True, mode = append )
将我的DataFrame
导出到 S3 - 作为parquet
文件。
我使用 AWS Glue 在 S3 中抓取我的数据文件,并创建Table A
。
通过 Athena,我可以在Table A
中查询我的数据。
现在我想更新表 A 中的数据。我的问题是:
Table A
中我过去的所有数据。 这不是我的愿望。 有安全的方法吗?Table A
中的数据怎么办。 使用 AWS Wrangler,如何在不在Table A
中添加冗余行的情况下实现这一目标? 我已经使用mode=append
测试了 (2),实际上我最终在Table A
中得到了多余的行。
如果您愿意分享您的想法,我将不胜感激
谢谢,
我认为您需要使用mode="overwrite_partitions"
您可以使用以下 api:
awswrangler.s3.merge_upsert_table¶
参考: https://aws-sdk-pandas.readthedocs.io/en/stable/stubs/awswrangler.s3.merge_upsert_table.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.