当使用冒号(:)作为Amazon Athena的分区分隔符时,可能会遇到不起作用的问题。这可能是因为冒号在Athena中有特殊的含义,被用作表示分区键值的语法。以下是一种解决方法:
CREATE EXTERNAL TABLE my_table (
column1 string,
column2 string
)
PARTITIONED BY ("partition_column" string)
LOCATION 's3://bucket/path/';
SELECT * FROM my_table WHERE "partition_column" = 'value:1';
请注意,使用双引号将分区列名和值括起来只适用于包含冒号的分区。对于没有冒号的普通列,不需要使用双引号。