Amazon s3 如何在AWS Glue脚本中将数据写入S3时添加不在动态框架中的分区
在使用DynamicFrame将数据写入S3时,我希望使用不在DynamicFrame中的分区列 例如:Amazon s3 如何在AWS Glue脚本中将数据写入S3时添加不在动态框架中的分区,amazon-s3,aws-glue,Amazon S3,Aws Glue,在使用DynamicFrame将数据写入S3时,我希望使用不在DynamicFrame中的分区列 例如: def write_date(outpath,year): glue_context.write_dynamic_frame.from_options( frame = projectedEvents, connection_type = "s3", connection_options = {"p
def write_date(outpath,year):
glue_context.write_dynamic_frame.from_options(
frame = projectedEvents,
connection_type = "s3",
connection_options = {"path": outpath, "partitionKeys": [year]},
format = "parquet")
这里年份是动态框架中不存在的参数
此代码失败,出现错误:
'在架构中找不到分区列“2021”
如何使用自己的分区在S3中写入数据
基本上,我想在S3路径中写为“outpath/2021/”这样可以:
projectedEvents = projectedEvents.withColumn('year', lit(2021))
def write_date(frame,outpath,year):
glue_context.write_dynamic_frame.from_options(
frame = frame,
connection_type = "s3",
connection_options = {"path": outpath, "partitionKeys":[year]},
format = "parquet")
write_date(projectedEvents, outpath, 'year')
我建议您再看看分区。它必须是数据框的一列。Hi Robert,实际上年份是这个写函数的一个参数Hi,正如错误所说,数据框中可能没有名为2021的列。如何调用此函数以及数据框的外观如何?是的,2021不是数据框中的列presnt。这就是我想做的——我想添加一个数据框架中不存在的分区列。我更新了我的答案。我希望这就是你想要的。