行フィルター式での PartiQL のサポート - AWS Lake Formation

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

行フィルター式での PartiQL のサポート

PartiQL データ型、演算子、および集計のサブセットを使用して、行フィルター式を構築することができます。Lake Formation では、フィルター式にユーザー定義または標準の PartiQL 関数は使用できません。比較演算子を使用して、列を定数 (例えば views >= 10000) と比較することはできますが、列を他の列と比較することはできません。

行フィルター式は、単純式または複合式にすることができます。式の合計長は 2048 文字未満にする必要があります。

単純式

単純式は、次の形式になります: <column name > <comparison operator ><value >

  • Column name (列名)

    これは、テーブルスキーマに存在する最上位レベルのデータ列、パーティション列、またはネストされた列のいずれかであり、以下に示すサポートされている データ型に属している必要があります。

  • Comparison operator (比較演算子)

    サポートされている演算子は、次のとおりです: =, >, <, >=, <=, <>,!=, BETWEEN, IN, LIKE, NOT, IS [NOT] NULL

  • すべての文字列比較および LIKE パターンマッチングでは、大文字と小文字が区別されます。IS [NOT] NULL 演算子は、パーティション列には使用できません。

  • Column value (列値)

    列値は、列名のデータ型に一致する必要があります。

複合式

複合式は、次の形式になります: ( <simple expression >) <AND/OR >(<simple expression >) 複合式は、論理演算子 AND/OR を使用してさらに組み合わせることができます。

サポートされている データ型

サポートされていないデータ型が含まれる AWS Glue Data Catalog テーブルを参照する行フィルターは、エラーを生じます。以下は、テーブル列と定数にサポートされているデータ型で、Amazon Redshift データ型にマップされています。

  • STRING, CHAR, VARCHAR

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

  • BOOLEAN

  • STRUCT

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)

ネストされた列を持つテーブルに対する有効な行フィルター式の例は、次のとおりです: year > 2010 and customer.customerId <> 1

ネストされた行レベルの式を定義するときは、パーティション列の下のネストされたフィールドを参照しないでください。

文字列定数は一重引用符で囲む必要があります。

予約キーワード

行フィルター式に PartiQL キーワードが含まれている場合、列名がキーワードと競合する可能性があることから構文解析エラーが発生します。このエラーが発生した場合は、二重引用符を使用して列名をエスケープしてください。予約キーワードの例には、「first」、「last」、「asc」、「missing」などがあります。予約キーワードのリストについては、PartiQL の仕様を参照してください。

PartiQL リファレンス

PartiQL の詳細については、https://partiql.org/ を参照してください。