- 카테고리:
FRESHNESS(시스템 데이터 메트릭 함수)¶
테이블이 마지막으로 수정된 이후 경과된 시간(초)을 반환합니다.
열 인자가 지정되면 함수의 현재 실행을 타임스탬프 열의 최대 값과 비교하여 기간을 계산합니다. 함수를 실행하도록 예약된 시간이 실제로 실행된 시간과 다른 경우 예약된 시간이 비교에 사용됩니다.
열이 지정되지 않은 경우, 기간은 함수의 현재 실행을 :doc:`DML 명령</sql-reference/sql-dml>`이 테이블에서 실행된 마지막 시간과 비교하여 계산됩니다. 함수를 실행하도록 예약된 시간이 실제로 실행된 시간과 다른 경우 예약된 시간이 비교에 사용됩니다.
이 항목에서는 함수를 직접 호출하기 위한 구문을 제공합니다. 함수를 테이블 또는 뷰와 연결하여 규칙적인 간격으로 실행되도록 하는 방법을 알아보려면 DMF 를 연결하여 데이터 품질 검사 자동화하기 섹션을 참조하세요.
구문¶
SNOWFLAKE.CORE.FRESHNESS( [ <query> ] )
인자¶
query지정된 경우 쿼리는 단일 타임스탬프 열을 프로젝션해야 합니다.
열을 지정하지 않으려면 함수를 직접 호출하는 대신 :ref:`테이블과 연결<label-data_quality_implement>`해야 합니다.
허용되는 데이터 타입¶
query 에 의해 프로젝션된 열에는 다음 데이터 타입 중 하나가 있어야 합니다.
DATE
TIMESTAMP_LTZ
TIMESTAMP_TZ
반환¶
이 함수는 NUMBER 데이터 타입의 스칼라 값을 반환합니다.
액세스 제어 요구 사항¶
시스템 DMF를 연결하고 실행하려면 시스템 DMF에 대한 USAGE 권한이 필요합니다. 사용자에게 모든 시스템 DMFs에 대한 USAGE 권한을 부여하기 위해 SNOWFLAKE.DATA_METRIC_USER 데이터베이스 역할을 부여할 수 있습니다. 자세한 내용은 시스템 DMFs에 대해 USAGE 권한 부여 섹션을 참조하십시오.
지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.
보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.
사용법 노트¶
이 함수를 뷰 또는 외부 테이블과 연결하려면 열 인자를 지정해야 합니다.
이 함수는 타임스탬프 열을 프로젝션하는 쿼리를 지정하는 경우에만 직접 호출할 수 있습니다. 함수를 테이블 또는 뷰와 연결하여 열 인자를 사용하거나 사용하지 않고 일정한 간격으로 실행하려면 DMF 를 연결하여 데이터 품질 검사 자동화하기 섹션을 참조하세요.
예¶
t1 테이블과 함수를 연결하여 테이블에서 마지막 DML 작업이 수행된 이후 경과된 기간을 확인합니다.
ALTER TABLE t1
ADD DATA METRIC FUNCTION SNOWFLAKE.CORE.FRESHNESS on ();
함수를 직접 호출하여 TIMESTAMP 열을 측정해 테이블에서 데이터의 최신성(300초 또는 5분)을 결정합니다.
SELECT SNOWFLAKE.CORE.FRESHNESS(
SELECT
timestamp
FROM hr.tables.empl_info
) < 300;
+---------------------------------------------------------------------+
| SNOWFLAKE.CORE.FRESHNESS(SELECT timestamp FROM hr.tables.empl_info) |
+---------------------------------------------------------------------+
| True |
+---------------------------------------------------------------------+