다음을 통해 공유


ROW FILTER

적용 대상:체크 표시 있음 Databricks SQL 체크 표시 있음 Databricks Runtime 12.2 LTS 이상 체크 표시 있음 Unity Catalog만.

table행을 가져올 때마다 필터로 적용되는 함수를 지정합니다.

다음과 같은 경우 행 필터를 추가할 수 있습니다.

Important

행 필터는 데이터 원본에서 행을 가져오는 즉시 적용됩니다.

행 필터 및 마스크를 사용하여 민감한 데이터를 필터링하는 방법에 대한 자세한 내용은 참조하세요.

구문

ROW FILTER func_name ON ( [ column_name | constant_literal [, ...] ] ) [...]

Parameters

  • func_name

    스칼라 SQL UDF입니다.

    함수의 반환 형식은 .이어야 BOOLEAN합니다. 함수가 반환 FALSE 되거나 NULL 행이 필터링되는 경우

  • column_name

    주체 table의 columns를 func_name에 전달하도록 지정합니다. 각 column_namefunc_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