Amazon web services AWS Glue API无法识别带有连字符的分区

Amazon web services AWS Glue API无法识别带有连字符的分区,amazon-web-services,aws-cli,aws-glue,Amazon Web Services,Aws Cli,Aws Glue,我在S3中有按类别和日期划分的数据,如下所示: s3://mybucket/category=1/date=2018-08-30/data1.json s3://mybucket/category=1/date=2018-08-31/data2.json s3://mybucket/category=2/date=2018-08-30/data3.json s3://mybucket/category=2/date=2018-08-31/data4.json 运行爬虫程序后,我的元数据表中有两

我在S3中有按类别和日期划分的数据,如下所示:

s3://mybucket/category=1/date=2018-08-30/data1.json
s3://mybucket/category=1/date=2018-08-31/data2.json
s3://mybucket/category=2/date=2018-08-30/data3.json
s3://mybucket/category=2/date=2018-08-31/data4.json
运行爬虫程序后,我的元数据表中有两个分区键:一个用于
类别
,另一个用于
日期
。我想使用检索与某些键匹配的分区,所以我开始尝试使用AWS CLI。如果我运行此命令:

aws glue get分区--数据库名mydb--表名mytable--表达式“category=1”--区域us-west-2

我按预期成功检索了分区。但是,我尝试了以下命令:

aws glue get分区--数据库名mydb--表名mytable--表达式“category=1,date=2018-08-30”--地区us-west-2

反应是

调用时发生错误(InvalidInputException) GetPartitions操作:不支持的表达式“2018-08-30”

产生此错误的另一个命令是

aws glue get分区--数据库名mydb--表名mytable--表达式类别=1\和\date=2018-08-30--美国西部地区-2

我还尝试使用以下命令修改调用:

aws glue get分区--数据库名mydb--表名mytable--表达式“category=1 AND date=2018 \-08 \-30”--地区us-west-2

这给了我错误

调用GetPartitions操作时发生错误(InvalidInputException):第1行第35列的词法错误。遇到:\“(92),在:”


GetPartitions API是否能够处理包含连字符的分区的表达式?如果是,正确的语法是什么?

最初由AWS Glue中的爬虫程序生成的分区将在元数据目录中具有类型
String
。虽然我的一些类别包含连字符,但它们位于UUID中(即
category=so36-fkw1-…
),因此它们不会被解释为表达式。另一方面,日期只包含数字字符和
-
,这是问题的根源。我可以用单数引号将日期括起来,如下所示:

s3://mybucket/category=1/date=2018-08-30/data1.json
s3://mybucket/category=1/date=2018-08-31/data2.json
s3://mybucket/category=2/date=2018-08-30/data3.json
s3://mybucket/category=2/date=2018-08-31/data4.json

aws glue get partitions--数据库名mydb--表名mytable--表达式类别=1\和\date=\'2018-08-30\'--区域us-west-2
最初由aws glue中的爬虫程序生成的分区将在元数据目录中具有类型
字符串
。虽然我的一些类别包含连字符,但它们位于UUID中(即
category=so36-fkw1-…
),因此它们不会被解释为表达式。另一方面,日期只包含数字字符和
-
,这是问题的根源。我可以用单数引号将日期括起来,如下所示:

s3://mybucket/category=1/date=2018-08-30/data1.json
s3://mybucket/category=1/date=2018-08-31/data2.json
s3://mybucket/category=2/date=2018-08-30/data3.json
s3://mybucket/category=2/date=2018-08-31/data4.json
aws glue get分区--数据库名mydb--表名mytable--表达式类别=1\和\date=\'2018-08-30\'--地区us-west-2