このページでは

For AI agents: a documentation index is available at /docs/llms.txt. Append .md to any page URL for markdown, or send Accept: text/markdown.

Snowflake データ共有

Snowflakeのデータ共有プロダクトを通じてAmplitudeイベントにアクセスできます。AmplitudeはSnowflakeのデータ共有連携をサポートしており、顧客がAmplitude内のイベントデータにアクセスできるようにしています。Amplitudeの連携は、Raw EventsテーブルとMerged IDテーブルの共有をサポートしています。

Direct Load

このドキュメントでは、Snowflake Direct Loadについて説明します。Amplitudeがデータを直接Snowflakeアカウントに読み込む標準的なSnowflakeエクスポート方法については、Snowflakeエクスポートにアクセスしてください。

アドオン機能

AmplitudeのSnowflake Data Share Exportは、Amplitude契約に対する有料アドオンです。

制限事項

Snowflakeは、同じリージョンとクラウドプロバイダー内でのみデータ共有をサポートしています。 AmplitudeのSnowflakeは、米国西部(オレゴン州)でアマゾンウェブサービス上で稼働しています。 地域間またはクラウド間のデータ共有を有効にするには、Amplitudeのアカウントマネージャーにお問い合わせいただくか、Amplitude サポートまでお問い合わせください。

Amplitudeは、各データタイプ(イベントとマージされたユーザーテーブル)について、プロジェクトごとに1つのSnowflakeデータ共有送信先をサポートしています。組織全体で複数の送信先を設定できます。異なるプロジェクト内の宛先を同じ Snowflake アカウントに接続する必要はありません。 たとえば、本番プロジェクトは本番Snowflakeインスタンスに接続し、ステージングプロジェクトはステージングインスタンスに接続し、開発プロジェクトはサンドボックスインスタンスに接続できます。

EUでの利用可能性

EU地域のAmplitudeのお客様は、Snowflake データシェアをご利用いただけません。

連携を設定する

AmplitudeデータのSnowflakeへの定期的なエクスポートを設定するには、以下の手順に従ってください。

必要なユーザー権限

Amplitudeでの管理者/マネージャー権限と、Snowflakeでリソースを有効にできる役割が必要です。

  1. Amplitudeデータで、**[カタログ]をクリックし、[宛先]**タブを選択します。
  2. [ウェアハウスの宛先] セクションで、[Snowflake データ共有] をクリックします。
  3. *「Snowflake Data Share 経由でデータにアクセス」*の下に、次のように入力します。
    • アカウント名:Snowflakeアカウントのアカウント名です。 これは Snowflake URL の最初の部分であり、https:// の後、「snowflakecomputing.com」の前にあります。たとえば、Snowflake の URL が http://amplitude.snowflakecomputing.com の場合、amplitude と入力します。
    • 組織名:Snowflakeの組織名です。
  4. このエクスポートに含めるデータを選択してください。生イベントを5分ごとにするか、マージされたIDを1時間ごとにするか、またはその両方を選択できます。イベントに対しては、特定の基準を満たすイベントのみをエクスポートするようにフィルタリング条件を指定することもできます。

ここで選択するオプションは、Amplitudeがデータを取り込んだ後の間隔を反映します。

  1. [次へ] をクリックし、この Snowflake エクスポートの名前を入力して、[完了] をクリックします。

完了すると、Amplitudeは今後のイベントをすべてデータ共有機能付きでSnowflakeに送信します。

データをバックフィルする

AmplitudeとSnowflakeクラスター間の共有を設定すると、Amplitudeはその時点以降のデータのみをロードします。 接続前の期間の履歴データをバックフィルするには、共有を設定する際にリクエスト内でこれを指定してください。

データのバックフィルには追加コストが発生します

料金については、Amplitudeアカウントマネージャーにお問い合わせください。

変換とカスタムイベント定義をエクスポートする

イベントデータと並行して、AmplitudeはSnowflake Data Shareを通じて変換とカスタムイベント定義を共有できます。これにより、Amplitudeで構築したロジックがウェアハウスと同期し続けることができるため、生イベントの独自のコピーにも同じセマンティクスを適用でき、データのドリフトを減らすことができます。

Amplitudeは、変換された行ではなく、定義を共有します。 生のイベント テーブルはそのまま残ります。 同期するたびに現在の定義の完全なスナップショットが書き込まれるため、変換済みイベントやカスタムイベントをダウンストリームで再構築したり、それらの定義が時間の経過とともにどのように変化したかを記録したりできます。

提供状況

Amplitude は、この機能を徐々に展開しています。Snowflakeデータ共有の設定にデータ設定が表示されない場合は、Amplitudeアカウントチームに連絡して有効にしてください。

Amplitudeがエクスポートする内容

  • イベント変換:マージとマージイベント変換の両方の変換タイプは、Amplitude データがUIに変換として表示します。
  • カスタムイベント:カスタムイベント定義。各イベントを定義するフィルタとグループ化が含まれます。

Amplitudeはアクティブな定義のみをエクスポートします。 無効化された変換や削除されたカスタムイベントをエクスポートしません。また、ユーザープロパティ、チャネル分類子、派生プロパティ変換もエクスポートしません。

データ設定エクスポートを設定する

  1. Amplitudeデータで、**[カタログ]をクリックし、[宛先]**タブを選択します。
  2. [ウェアハウスの宛先] セクションで、[Snowflake データ共有] をクリックします。
  3. エクスポート設定で、[データ設定] を選択し、次に**[イベント変換]、[カスタムイベント]**、またはその両方を選択します。
  4. Amplitudeがスケジュールピッカーでスナップショットを更新する頻度を設定します。 デイリーミーティングは、ほとんどのチームでうまく機能します。
  5. 次へ をクリックし、エクスポートに名前を付けてから、完了 をクリックします。

Amplitudeは各データタイプを独自の読み取り専用テーブルとして共有し、実行ごとに新しいスナップショットを追加します。 現在の定義を読み取るには、最新の snapshot_at を持つ行をクエリします。過去の状態を確認するには、snapshot_atで目的のスナップショットに絞り込みます。Amplitudeは約1年間分のスナップショットを保持します。

Amplitudeからデータ共有を削除する

データ共有を通じて利用可能なAmplitudeデータセットを削除するには、Amplitudeのアカウントマネージャーに連絡するか、サポートリクエストを送信してください。

Snowflakeのエクスポート形式

イベントテーブル

イベントテーブルスキーマ

イベントテーブルのスキーマには、次の列が含まれています。

  • adid
  • amplitude_event_type
  • amplitude_id
  • app
  • city
  • client_event_time
  • client_upload_time
  • country
  • data
  • device_brand
  • device_carrier
  • device_family
  • device_id
  • device_manufacturer
  • device_model
  • device_type
  • dma
  • event_id
  • event_properties
  • event_time
  • event_type
  • followed_an_identify
  • group_properties
  • groups
  • idfa
  • ip_address
  • is_attribution_event
  • language
  • library
  • location_lat
  • location_lng
  • os_name
  • os_version
  • paying
  • platform
  • processed_time
  • region
  • sample_rate
  • server_upload_time
  • session_id
  • start_version
  • user_id
  • user_properties
  • uuid
  • version_name
  • amplitude_attribution_ids
  • server_received_time
  • global_user_properties
  • partner_id
  • plan
  • source_id
  • data_type

詳細については、Snowflake Export ドキュメントの「イベントテーブルスキーマ」セクションを参照してください。

イベントテーブルのクラスタリング

エクスポートされたイベントテーブルは、次のクラスタリングキーを(順番に)使用します。

  1. TO_DATE(EVENT_TIME)
  2. TO_DATE(SERVER_UPLOAD_TIME)
  3. EVENT_TYPE
  4. AMPLITUDE_ID

このクラスタリングにより、時間ベースのクエリのクエリパフォーマンスが最適化されます。データ共有はAmplitudeが所有するテーブルへの読み取り専用アクセスを提供するため、クラスタリングキーを変更することはできません。 異なるクエリパターンに対応するカスタムクラスタリングが必要な場合は、代わりに Snowflake エクスポートを使用してテーブルの完全な所有権と制御を行います。

マージされたユーザーテーブル

マージされたユーザーのテーブルスキーマ

マージされたユーザーのテーブルスキーマには、次のものが含まれています。

  • amplitude_id
  • merge_event_time
  • merge_server_time
  • merged_amplitude_id

詳細については、Snowflakeエクスポートのドキュメントのマージされたユーザーテーブルスキーマセクションを参照してください。

マージされたユーザーテーブルのクラスタリング

Amplitude は DATE_TRUNC('HOUR', MERGE_SERVER_TIME) を基準にマージ済み ID テーブルをクラスタリングします。これにより、ユーザーのマージが発生した時刻でフィルタリングするクエリが最適化されます。データ共有はAmplitudeが所有するテーブルへの読み取り専用アクセスを提供するため、クラスタリングキーを変更することはできません。 さまざまなクエリパターンを最適化するためのカスタムクラスタリングには、代わりに Snowflake Export を使用してください。これにより、テーブルに対する完全な所有権と制御が可能になります。

イベント変換テーブル

Amplitudeは、DB_{ORG_ID}.AMPLITUDE.EVENT_TRANSFORMATIONS_{PROJECT_ID}で変換定義を共有しています。各行は、特定のスナップショットにおける1つの変換定義です。

型付きの列には半構造化 JSON VARIANTが保持されます。Snowflakeの半構造化データ関数を使用してクエリを実行できます。

カスタムイベントテーブル

Amplitudeは、DB_{ORG_ID}.AMPLITUDE.CUSTOM_EVENTS_{PROJECT_ID} でカスタムイベント定義を共有しています。 各行は、特定のスナップショットにおける 1 つのカスタムイベント定義です。

これは役に立ちましたか?