所以我正在使用 AWS pyspark,并且每天都有千兆字节的数据,这些数据正在更新。我想在胶水数据库中的现有表中查找数据的 id,如果 id 已经存在则更新,如果 id 不存在则插入。
是否可以在 AWS 胶水中做到这一点?
谢谢!
所以我正在使用 AWS pyspark,并且每天都有千兆字节的数据,这些数据正在更新。我想在胶水数据库中的现有表中查找数据的 id,如果 id 已经存在则更新,如果 id 不存在则插入。
是否可以在 AWS 胶水中做到这一点?
谢谢!
是的,您可以为此使用 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)
您可以在粘合作业中使用 Athena 查询来实现您的逻辑。https://docs.aws.amazon.com/athena/latest/ug/querying-athena-tables.html