SELECTSELECT

Announcement

クエリメタデータを使用してコストをスライス、フィルタリング、帰属させる

By SELECT Team

このページはEnglishPortuguêsDeutschEspañolItalianoFrançaisでもご覧いただけます。

クエリメタデータを使用してコストをスライス、フィルタリング、帰属させる

SnowflakeのクエリメタデータをSELECTのUI上で直接活用し、コスト帰属と理解を強化できます。

Niall WoodwardSELECT 共同創業者兼CTO

SELECTユーザーが、クエリワークロードに関連する追加のメタデータを活用して、Snowflakeの消費をより深く理解し帰属させることができるようになりました。dbtまたはカスタムワークロードインテグレーションをご利用の方に適用されます。

dbt meta & tags の活用

以下の dbt_project.yml の例では、dbt の meta フィールドtagsを組み合わせて使用しています。

1# dbt_project.yml name: 'select_dbt' version: '1.0.0' config-version: 2 models: +meta: team: 'data' # all models get tagged with team = 'data' by default engineering: +meta: team: 'engineering' marketing: +meta: team: 'marketing' forecasts: +meta: team: 'finance' +tags: - "sensitive" - "critical"

この dbt プロジェクトのファイル構造は以下のようになります。engineering ディレクトリ配下のすべてのリソースには、team meta フィールドに engineering という値が追加されます。同様に、forecasts ディレクトリ内のモデルには team フィールドに finance が追加されます。また、["sensitive", "critical"] というタグも付与されます。

1. ├── dbt_project.yml ├── packages.yml └── models/ ├── engineering/ | ├── syncs.sql | └── ai.sql ├── marketing/ | ├── attribition.sql | └── page_clicks.sql └── forecasts/ └── forecast.sql

dbt meta フィールドをSELECTで表示するには、設定画面で有効にしたいフィールドを指定してください。dbt tags については指定は不要です。

SELECT dbt meta keys settings

追加すると、UI上でこのメタデータを使ってフィルタリングやスライスが可能になります。

dbt メタデータを使用してコストのチャージバックやショーバックを行いたい場合、SELECTのUsage Groups機能を使用して、指定した dbt の meta フィールドtagsに基づいて柔軟にコストを配分できるようになりました。

カスタムメタデータフィールドの活用

カスタムワークロードを使用すると、クエリにコメントやSnowflake query tagsでタグ付けできます。以下は、SELECTのカスタムワークロードで使用しているクエリコメントの例です。

1select ... from queries group by all order by sum_query_cost desc nulls last limit 1000 /* { "select_schema_version": "1.0.0", "app": "SELECT_WEB_APP", "workload_id": "DailyWorkloadPoPQuery", "environment": "prod", "tenant_id": "scwxhob-ad38017", "referrer_base_url": "https://select.dev/app/scwxhob-ad38017/workloads", "is_admin_user": true, "user_id": "google-oauth2|115381118870474481840" }*/

appworkload_idenvironment などのカスタムワークロードフィールドは、UI上でのフィルタリングやスライスにすぐに利用可能です。カスタムワークロードのクエリコメント/タグで指定した他のフィールドについても同じ動作を有効にするには、Settings → Custom に移動し、有効にしたいキーを指定してください。

SELECT custom workload meta keys settings

追加すると、UI上でこのメタデータを使ってフィルタリングやスライスが可能になります。

クエリに追加したメタデータを使用してコストのチャージバックやショーバックを行いたい場合、SELECTのUsage Groups機能を使用して、カスタムワークロードのメタデータに基づいて柔軟にコストを配分できるようになりました。

現在、配列やオブジェクトなどの複雑なデータ型を含むカスタム meta キーでのフィルタリング/スライスはサポートしていません。この機能が必要な場合は、お知らせいただければ追加いたします。

1select * from credit_cards /* { "select_schema_version": "1.0.0", "app": "generated_tables", "workload_id": "my_etl_job", "tags": ["critical", "sensitive"], "meta": {"task_key": "A1SF249X", "attempt_number": 1} }

なお、このデータをクエリコメント/タグに追加して独自に分析することは引き続き可能です。ただし、現時点ではSELECTのUI上でそのデータを操作することはできません。