0

我的用例很简单。我在 s3 中有 20 TB 原始 csv 未压缩数据,分区文件夹结构为年(10 个分区,10 年,每个分区有 2 TB)。我想将此数据转换为镶木地板格式(快速压缩)并保持类似的分区/文件夹结构。我想要一个在 Athena 中有 10 个 10 个分区的 Parquet 表,我将使用它来按分区查询这些数据,并且以后可能会删除原始 csv 数据。使用 Glue,我似乎将创建 10 个我无法使用的镶木地板。

这在 Glue 中可行吗?我没有使用 EC2,而是 Hive/Spark,我正在寻找简单的解决方案。有什么推荐吗?任何帮助深表感谢。

4

1 回答 1

2

假设您在该数据上有 Glue 目录,您可以将其作为动态框架加载,然后将其作为镶木地板写回新位置:

dynamic_frame = glue_context.create_dynamic_frame.from_catalog(
    database=glue_database_name,
    table_name=glue_table_name)
data_frame = dynamic_frame.toDF()
data_frame.repartition("year")\
    .write\
    .partitionBy("year")\
    .parquet('s3://target-bucket/prefix/')
于 2017-12-15T13:55:34.960 回答