首页 文章

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

提问于
浏览
0

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

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

1 回答

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

相关问题