0

我正在使用胶水将一些文件从关系数据库源写入 s3。我希望 s3 路径采用这种格式 bucket_name/database/schema/table/year/month/day 格式。我正在从配置文件中读取 bucket_name、数据库、模式、表名。我想使用从配置文件中读取的那些参数来动态指定保存这些源文件的 s3 路径。我正在使用胶水动态框架将源文件写入 s3。

在胶水脚本中,我动态地提到了路径:s3_target_path = 's3://' + target_bucket_name + '/' + database + '/' + schema + '/' + table + '/' + year '/' + month '/' + 天

4

1 回答 1

0

GlueDynamicFrame支持使用 Hive 样式的分区名称 ( key-value) 写入数据。请参阅https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-partitions.html#aws-glue-programming-etl-partitions-writing

connection_options = {"path": "$outpath", "partitionKeys": ["type"]},

该文档说,DataFrame如果要应用备用分区方案,则必须转换为 Spark。我从来没有这样做过,但我使用过这样的RDD:

  1. 用于map()添加输出键(例如xxx/yyy/yyyy/mm/dd:)
  2. groupBy()与该关键字段一起使用
  3. 与函数一起使用forEach()以写入输出文件。
于 2021-10-28T11:25:37.547 回答