- カテゴリ:
FRESHNESS (システムデータメトリック関数)¶
タイムスタンプ列の最大値と、データメトリック関数が実行される予定時刻との差を秒単位で返します。
このトピックでは、関数を直接呼び出すための構文を提供します。関数をテーブルまたはビューに関連付け、一定の間隔で実行する方法については、DMF と関連付けて、データ品質チェックを自動化します。 をご参照ください。
構文¶
SNOWFLAKE.CORE.FRESHNESS(<query>)
引数¶
query
単一の列を投影する SQL クエリを指定します。
許可されるデータ型¶
query
によって投影された列には、以下のデータ型のいずれかが必要です。
DATE
TIMESTAMP_LTZ
TIMESTAMP_TZ
戻り値¶
この関数は、 NUMBER データ型のスカラー値を返します。
アクセス制御の要件¶
システムDMFを使用するには、次のアクセス制御アプローチのいずれかを選択します。
テーブルに対する OWNERSHIP 権限を持つロールであるテーブル所有者ロールに、DATA_METRIC_USERデータベースロールを付与します。このデータベースロールは、SNOWFLAKE.CORE スキーマに対する USAGE 権限と、SNOWFLAKE.CORE スキーマにあるすべてのシステム DMFs に対する USAGE 権限を持ちます。
さらに、テーブル所有者ロールに次の権限を付与します。
権限
オブジェクト
メモ
EXECUTE DATA METRIC FUNCTION
アカウント
この権限により、どのロールがサーバーレスのコンピューティングリソースにアクセスできるかを制御し、システムDMFを呼び出すことができます。
USAGE
データベース、スキーマ
これらのオブジェクトは、 DMF が関連付けられているtable.referencedテーブルを含むデータベースとスキーマです。
付与 IMPORTEDPRIVILEGES に対する SNOWFLAKE テーブル所有者ロールにデータベース。詳細については、をご参照ください。 他のロールが SNOWFLAKE データベースのスキーマを使用できるようにする.
ACCOUNTADMIN ロールを使用します。
指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。
セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。
例¶
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 |
+---------------------------------------------------------------------+