如何使用 AWS Glue 仅在特定分区上应用作业
How to apply job only on specific partition using 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 作业脚本中指定数据源时,它应该是我上面提到的整个数据本身。我的目的是只将一个小时内堆积的数据转换成parquet,但是GLUE好像没有提供这种功能。
我想到的解决方法是在最低级别(例如 $bucketname/year=2020/month=07/day=07/hour=01 级别,而不是 $ bucketname 本身)。但是,这种解决方法不允许我在创建的 Parquet 上设置基于小时的分区。
有什么建议可以实现我的目标吗?提前致谢。
Glue 有一个称为作业书签的功能,它只处理在初始 运行 之后到达的新数据。请参阅 this 以了解有关如何利用它仅处理最新数据的更多信息。
我在 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 作业脚本中指定数据源时,它应该是我上面提到的整个数据本身。我的目的是只将一个小时内堆积的数据转换成parquet,但是GLUE好像没有提供这种功能。
我想到的解决方法是在最低级别(例如 $bucketname/year=2020/month=07/day=07/hour=01 级别,而不是 $ bucketname 本身)。但是,这种解决方法不允许我在创建的 Parquet 上设置基于小时的分区。
有什么建议可以实现我的目标吗?提前致谢。
Glue 有一个称为作业书签的功能,它只处理在初始 运行 之后到达的新数据。请参阅 this 以了解有关如何利用它仅处理最新数据的更多信息。