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