是否可以使用胶水在 AWS Glue 数据库中更新和插入数据
Is it possible to update and insert data in AWS Glue database using glue
所以我正在使用 AWS pyspark,并且每天都有数 GB 的数据,这些数据正在更新。我想在 glue 数据库中的现有 table 中找到数据的 id,如果 id 已经存在则更新,如果 id 不存在则插入。
是否可以在 AWS glue 中完成?
谢谢!
您可以在粘合作业中使用 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)
所以我正在使用 AWS pyspark,并且每天都有数 GB 的数据,这些数据正在更新。我想在 glue 数据库中的现有 table 中找到数据的 id,如果 id 已经存在则更新,如果 id 不存在则插入。
是否可以在 AWS glue 中完成?
谢谢!
您可以在粘合作业中使用 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)