所以我正试图从Glue表中获取分区。但我只需要一组特定的分区,它们通过应用于分区的value
的条件。
我确实尝试了另一种方法,获取所有分区,然后过滤掉它们,但它正在进行大量的API调用。
我查看了boto3文档,但我认为我无法对分区的值应用过滤器表达式。我也找不到任何正在应用筛选表达式的示例。
分区的值如下[1, '202210051', 1, 123]
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/glue.html#Glue.Client.get_partitions
get_partitions将只提取与表达式匹配的分区。我有以下格式的分区
dt=2022-09-07/partition_1=08
dt=2022-09-08/partition_1=07
dt=2022-09-12/partition_1=06
dt=2022-09-16/partition_1=05
如果我只想过滤分区,那么表达式的格式如下:
expression="dt = '2022-09-07' AND partition_1 = 08"
response = client.get_partitions(
DatabaseName='test_glue',
TableName='testahana_ahana_test_test_ql_8vuvs70w9h',
Expression=expression,
MaxResults=123
)
类似地,根据您的要求,您可以将条件表达式传递给get_partitions