行过滤器表达式中的 PartiQL 支持 - Amazon Lake Formation
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

行过滤器表达式中的 PartiQL 支持

您可以使用 PartiQL 数据类型、运算符和聚合的子集构建行筛选器表达式。Lake Formation 不允许在过滤器表达式中使用任何用户定义或标准 partIQL 函数。您可以使用比较运算符来比较列与常量(例如,views >= 10000),但是你不能将列与其他列进行比较。

行筛选器表达式可以是简单表达式或复合表达式。表达式的总长度必须少于 2048 个字符。

简单表达式

一个简单的表达式将采用以下格式: <column name > <comparison operator ><value >

  • 列名称

    它必须是表架构中存在的顶级数据列或分区列,并且必须属于支持的数据类型下面列出了。

  • 比较运算符

    以下是受支持的运算符:=, >, <, >=, <=, <>,!=, BETWEEN, IN, LIKE所有字符串比较和 LIKE 模式匹配项均区分大小写。

  • 列值

    列值必须匹配列名称的数据类型。

复合表达式

复合表达式将采用以下格式:( <simple expression >) <AND/OR >(<simple expression >). 可以使用逻辑运算符进一步组合复合表达AND/OR.

支持的数据类型

引用Amazon Glue Data Catalog包含不受支持的数据类型的表将导致错误。以下是表列和常量支持的数据类型,它们被映射到Amazon Redshift数据类型:

  • STRING, CHAR, VARCHAR

  • INT, LONG, BIGINT, FLOAT, DECIMAL, DOUBLE

  • BOOLEAN

有关 Amazon Redshift 中数据类型的更多信息,请参阅数据类型Amazon Redshift 数据库开发人员指南.

行筛选器表达式

以下是包含列的表的有效行筛选器表达式的示例: country (String), id (Long), year (partition column of type Integer), month (partition column of type Integer)

  • year > 2010 and country != 'US'

  • (year > 2010 and country = 'US') or (month < 8 and id > 23)

  • (country between 'Z' and 'U') and (year = 2018)

  • (country like '%ited%') and (year > 2000)

字符串常量必须用单引号引起来。

保留关键字

如果行过滤器表达式包含 PartiQL 关键字,则您将收到解析错误,因为列名可能与关键字冲突。发生这种情况时,使用双引号转义列名。保留关键词的一些示例是 “第一个”、“最后一个”、“asc”、“缺失”。有关保留关键词的列表,请参阅 PartiQL 规范。

PartiQL 参考

有关 PartiQL 的更多信息,请参阅https://partiql.org/.