행 필터 표현식에서의 PartiQL 지원 - AWS Lake Formation

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

행 필터 표현식에서의 PartiQL 지원

PartiQL 데이터 유형, 연산자 및 집계의 하위 집합을 사용하여 행 필터 표현식을 생성할 수 있습니다. Lake Formation에서는 필터 표현식에 사용자 정의 함수 또는 표준 PartiQL 함수를 사용할 수 없습니다. 비교 연산자를 사용하여 열을 상수(예: views >= 10000)와 비교할 수 있지만, 열을 다른 열과 비교할 수는 없습니다.

행 필터 표현식은 단순 표현식일 수도 있고 복합 표현식일 수도 있습니다. 표현식의 총 길이는 2048자 미만이어야 합니다.

단순 표현식

단순 표현식의 형식은 다음과 같습니다. <column name > <comparison operator ><value >

  • 열 이름

    테이블 스키마에 있는 최상위 데이터 열, 파티션 열 또는 중첩된 열이어야 하며 아래에 나열된 지원되는 데이터 유형에 속해야 합니다.

  • 비교 연산자

    지원되는 연산자는 =, >, <, >=, <=, <>,!=, BETWEEN, IN, LIKE, NOT, IS [NOT] NULL입니다.

  • 모든 문자열 비교와 LIKE 패턴 일치는 대/소문자를 구분합니다. 파티션 열에는 IS [NOT] NULL 연산자를 사용할 수 없습니다.

  • 열 값

    열 값은 열 이름의 데이터 유형과 일치해야 합니다.

복합 표현식

복합 표현식의 형식은 다음과 같습니다. ( <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/ 섹션을 참조하세요.