AWS Glue 使用与源表相同的分区将文件从 JSON 转换为 Parquet

Vis*_*sad 6 bigdata amazon-web-services aws-glue

我们正在使用 AWS 胶水来转换存储在我们的 S3 数据湖中的 JSON 文件。

这是我遵循的步骤,

  1. 创建了一个爬虫,用于从包含 JSON 数据的 datalake 存储桶在 Glue 上生成表。

  2. 新创建的表有如下分区,

    名称、年、月、日、小时

  3. 创建了一个粘合作业将其转换为 Parquet 并存储在不同的存储桶中

通过这些过程,作业成功运行,但新存储桶中的数据未分区。它只是在一个目录下。

我想要实现的是转换后的镶木地板文件应该获得与源表/数据湖存储桶中相同的分区。

另外,我想增加镶木地板文件的文件大小(减少文件数量)。

谁可以帮我这个事?

小智 3

尝试下面的方法来编写动态框架。

glueContext.write_dynamic_frame.from_options(
frame=<output_dataframe>,
connection_type="s3",
connection_options={"path": "s3://<output_bucket_path>",
                    "partitionKeys": ["Name", "Year", "Month" , "day", "hour"]},
format="parquet")
Run Code Online (Sandbox Code Playgroud)