是否可以使用胶水在 AWS Glue 数据库中更新和插入数据

问题描述

所以我正在使用 AWS pyspark,并且每天都有数千兆字节的数据,而且这些数据还在不断更新中。我想在glue数据库的现有表中找到数据的id,如果id已经存在就更新,如果id不存在则插入。

是否可以用 AWS 胶水来做?

谢谢!

解决方法

您可以在粘合作业中使用 Athena 查询来实现您的逻辑。 https://docs.aws.amazon.com/athena/latest/ug/querying-athena-tables.html

,

是的,您可以为此使用 Glue Pyspark 扩展。

data_sink = glue_context.getSink(
                    path="s3_path",connection_type="s3",updateBehavior="UPDATE_IN_DATABASE",partitionKeys=['partition_column'],compression="snappy",enableUpdateCatalog=True,)
data_sink.setCatalogInfo(
                catalogDatabase=database_name,catalogTableName=table_name,)
data_sink.setFormat("glueparquet")
data_sink.writeFrame(data_frame)