AWS Glue从分区表读取并写入分区表

时间:2017-12-14 17:27:09

标签: amazon-web-services aws-glue

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

这在胶水中是否可行?而不是使用EC2,Hive / Spark我正在寻找简单的解决方案。有什么建议?非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

假设您有关于该数据的胶水目录,您可以将其作为动态框架加载,然后将其作为镶木地板写回到新位置:

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/')