首页 > 解决方案 > 如何使用 AWS Glue 仅在特定分区上应用作业

问题描述

我在 S3 存储桶中有 JSON 数据,按小时分区。例如,$bucketname/year=2020/month=07/day=07/hour=01、$bucketname/year=2020/month=07/day=07/hour=02,以此类推。我正在尝试创建一个 GLUE 作业,将上面的 JSON 转换为 Parquet ,转换为另一个 S3 存储桶。

我想每小时转换一次数据,(或者每天也可以)但是,当我在 GLUE 作业脚本中指定数据源时,它应该是我上面提到的整个数据本身。我的目的是仅将一个小时内堆积的数据转换为镶木地板,但 GLUE 似乎不提供这种功能。

我想到的解决方法是在最低级别爬取 S3(例如在 $bucketname/year=2020/month=07/day=07/hour=01 级别,而不是在 $bucketname 本身)。但是,这种解决方法不允许我在创建的 Parquet 上设置基于小时的分区。

有什么建议可以实现我的目标吗?提前非常感谢。

标签: amazon-web-servicesaws-glue

解决方案


Glue 有一个称为作业书签的功能,它只处理初始运行后到达的新数据。请参阅此处了解有关如何利用它仅处理最新数据的更多信息。


推荐阅读