적용 대상:
Databricks SQL
Databricks Runtime 12.2 LTS 이상
Unity 카탈로그만 표시
관계형에서 행을 가져올 때마다 필터로 적용되는 함수를 지정합니다.
다음과 같은 경우 행 필터를 추가할 수 있습니다.
- CREATE TABLE사용하여 테이블을 만듭니다.
- ALTER TABLE사용하여 테이블을 변경합니다.
- 를 사용하여 구체화된 뷰를 만듭니다 CREATE MATERIALIZED VIEW.
- ALTER MATERIALIZED VIEW를 사용하여 구체화된 뷰를 변경합니다.
- CREATE STREAMING TABLE사용하여 스트리밍 테이블을 만듭니다.
- 를 사용하여 ALTER STREAMING TABLE스트리밍 테이블을 변경합니다.
중요한
행 필터는 데이터 원본에서 행을 가져오는 즉시 적용됩니다.
행 필터를 사용하는 방법에 대한 자세한 내용은 행 필터 및 열 마스크를 참조하세요.
구문
ROW FILTER func_name ON ( [ column_name | constant_literal [, ...] ] ) [...]
매개 변수
-
스칼라 SQL UDF 함수입니다.
함수의 반환 형식은 .이어야
BOOLEAN합니다. 함수가FALSE또는NULL을 반환하면 해당 행은 필터링됩니다. -
전달할
func_name주제 관계의 열을 지정합니다. 각column_name은func_name의 해당 매개 변수로 캐스팅할 수 있어야 합니다. 함수의 서명에 의해 요구되는 만큼의 열을 반드시 제공해야 합니다. 이 기능은 입력 열 0개 전달을 지원합니다. 이 경우 SQL UDF는 매개 변수 0을 수락하고 입력 행 값과 관계없이 부울 결과를 반환해야 합니다. constant_literal
함수 매개 변수와 일치하는 형식으로 상수 매개 변수를 지정합니다. 지원되는 형식은
STRING, 숫자(INTEGER,FLOAT,,DOUBLE,DECIMAL...),BOOLEAN,INTERVAL,NULL입니다.
예제
행 필터 및 열 마스크에서 더 많은 예제를 찾을 수 있습니다.
-- Create a table with a row filter column
> CREATE FUNCTION filter_emps(dept STRING) RETURN is_account_group_member(dept);
> CREATE TABLE employees(emp_name STRING, dept STRING) WITH ROW FILTER filter_emps ON (dept);
> INSERT INTO employees VALUES ('Jones', 'Engineering'), ('Smith', 'Sales');
-- As a member of engineering
> SELECT * FROM employees;
Jones Engineering
-- As a member of sales
> SELECT * FROM employees;
Smith Sales