- 카테고리:
FRESHNESS(시스템 데이터 메트릭 함수)¶
테이블이 마지막으로 수정된 이후 경과된 시간(초)을 반환합니다.
열 인자가 지정되면 함수의 현재 실행을 타임스탬프 열의 최대 값과 비교하여 기간을 계산합니다. 함수를 실행하도록 예약된 시간이 실제로 실행된 시간과 다른 경우 예약된 시간이 비교에 사용됩니다.
열이 지정되지 않은 경우, 기간은 함수의 현재 실행을 :doc:`DML 명령</sql-reference/sql-dml>`이 테이블에서 실행된 마지막 시간과 비교하여 계산됩니다. 함수를 실행하도록 예약된 시간이 실제로 실행된 시간과 다른 경우 예약된 시간이 비교에 사용됩니다.
This topic provides the syntax for calling the function directly. To learn how to associate the function with a table or view so it runs at regular intervals, see DMF 를 연결하여 데이터 품질 검사 자동화하기.
구문¶
SNOWFLAKE.CORE.FRESHNESS( [ <query> ] )
인자¶
query지정된 경우 쿼리는 단일 타임스탬프 열을 프로젝션해야 합니다.
If you don’t want to specify a column, you must associate the function with a table rather than call it directly.
허용되는 데이터 타입¶
query 에 의해 프로젝션된 열에는 다음 데이터 타입 중 하나가 있어야 합니다.
DATE
TIMESTAMP_LTZ
TIMESTAMP_TZ
반환¶
이 함수는 NUMBER 데이터 타입의 스칼라 값을 반환합니다.
사용법 노트¶
이 함수를 뷰 또는 외부 테이블과 연결하려면 열 인자를 지정해야 합니다.
This function can be called directly only if you specify a query that projects a timestamp column. If you want to associate the function with a table or view so it runs at regular intervals with or without a column argument, see 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 |
+---------------------------------------------------------------------+