获取 AWS Glue 中特定范围的分区数

Get number of partitions in AWS Glue for specific range

我想列出给定 table 的所有分区并计算它的数量,但是 aws glue get-partitions --database-name ... returns 有关每个分区的详细信息,这在这种情况下不是很有用。

假设我的 table 被 input_data_datecountry 分区,我想知道我在某一天有多少个分区。

我可以用这个做点什么

aws glue get-partitions --database-name MYDB --table-name MYTABLE --expression "input_data_date = '2021-07-09' "

但它需要一些脚本,我一直在寻找一种更好、更简洁的方法,只是通过 AWS CLI 或....

A​​WS CLI 使用 JMESPATH,它有一个 length() 函数。因此,您可以使用:

aws glue get-partitions --database-name xx --table-name xx --query 'length(Partitions[])'

这将 return 分区总数。

如果你想做一些更具体的事情(“我在给定的一天有多少个分区”),你可能需要使用更好的 SDK(例如 Python with boto3)来处理信息。