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でリソースを有効にできる役割が必要です。
- Amplitudeデータで、**[カタログ]をクリックし、[宛先]**タブを選択します。
- [ウェアハウスの宛先] セクションで、[Snowflake データ共有] をクリックします。
- *「Snowflake Data Share 経由でデータにアクセス」*の下に、次のように入力します。
- アカウント名:Snowflakeアカウントのアカウント名です。 これは Snowflake URL の最初の部分であり、
https://の後、「snowflakecomputing.com」の前にあります。たとえば、Snowflake の URL がhttp://amplitude.snowflakecomputing.comの場合、amplitudeと入力します。 - 組織名:Snowflakeの組織名です。
- アカウント名:Snowflakeアカウントのアカウント名です。 これは Snowflake URL の最初の部分であり、
- このエクスポートに含めるデータを選択してください。生イベントを5分ごとにするか、マージされたIDを1時間ごとにするか、またはその両方を選択できます。イベントに対しては、特定の基準を満たすイベントのみをエクスポートするようにフィルタリング条件を指定することもできます。
ここで選択するオプションは、Amplitudeがデータを取り込んだ後の間隔を反映します。
- [次へ] をクリックし、この Snowflake エクスポートの名前を入力して、[完了] をクリックします。
完了すると、Amplitudeは今後のイベントをすべてデータ共有機能付きでSnowflakeに送信します。
データをバックフィルする
AmplitudeとSnowflakeクラスター間の共有を設定すると、Amplitudeはその時点以降のデータのみをロードします。 接続前の期間の履歴データをバックフィルするには、共有を設定する際にリクエスト内でこれを指定してください。
データのバックフィルには追加コストが発生します
料金については、Amplitudeアカウントマネージャーにお問い合わせください。
変換とカスタムイベント定義をエクスポートする
イベントデータと並行して、AmplitudeはSnowflake Data Shareを通じて変換とカスタムイベント定義を共有できます。これにより、Amplitudeで構築したロジックがウェアハウスと同期し続けることができるため、生イベントの独自のコピーにも同じセマンティクスを適用でき、データのドリフトを減らすことができます。
Amplitudeは、変換された行ではなく、定義を共有します。 生のイベント テーブルはそのまま残ります。 同期するたびに現在の定義の完全なスナップショットが書き込まれるため、変換済みイベントやカスタムイベントをダウンストリームで再構築したり、それらの定義が時間の経過とともにどのように変化したかを記録したりできます。
提供状況
Amplitude は、この機能を徐々に展開しています。Snowflakeデータ共有の設定にデータ設定が表示されない場合は、Amplitudeアカウントチームに連絡して有効にしてください。
Amplitudeがエクスポートする内容
- イベント変換:マージとマージイベント変換の両方の変換タイプは、Amplitude データがUIに変換として表示します。
- カスタムイベント:カスタムイベント定義。各イベントを定義するフィルタとグループ化が含まれます。
Amplitudeはアクティブな定義のみをエクスポートします。 無効化された変換や削除されたカスタムイベントをエクスポートしません。また、ユーザープロパティ、チャネル分類子、派生プロパティ変換もエクスポートしません。
データ設定エクスポートを設定する
- Amplitudeデータで、**[カタログ]をクリックし、[宛先]**タブを選択します。
- [ウェアハウスの宛先] セクションで、[Snowflake データ共有] をクリックします。
- エクスポート設定で、[データ設定] を選択し、次に**[イベント変換]、[カスタムイベント]**、またはその両方を選択します。
- Amplitudeがスケジュールピッカーでスナップショットを更新する頻度を設定します。 デイリーミーティングは、ほとんどのチームでうまく機能します。
- 次へ をクリックし、エクスポートに名前を付けてから、完了 をクリックします。
Amplitudeは各データタイプを独自の読み取り専用テーブルとして共有し、実行ごとに新しいスナップショットを追加します。 現在の定義を読み取るには、最新の snapshot_at を持つ行をクエリします。過去の状態を確認するには、snapshot_atで目的のスナップショットに絞り込みます。Amplitudeは約1年間分のスナップショットを保持します。
Amplitudeからデータ共有を削除する
データ共有を通じて利用可能なAmplitudeデータセットを削除するには、Amplitudeのアカウントマネージャーに連絡するか、サポートリクエストを送信してください。
Snowflakeのエクスポート形式
| スキーマ名 | 概要 |
|---|---|
DB_{ORG_ID} | データベース |
AMPLITUDE | スキーマ |
EVENTS_{PROJECT_ID} | イベント表 |
MERGE_IDS_{PROJECT_ID} | ユーザーテーブルのマージ |
EVENT_TRANSFORMATIONS_{PROJECT_ID} | イベント変換テーブル |
CUSTOM_EVENTS_{PROJECT_ID} | カスタムイベントテーブル |
イベントテーブル
イベントテーブルスキーマ
イベントテーブルのスキーマには、次の列が含まれています。
adidamplitude_event_typeamplitude_idappcityclient_event_timeclient_upload_timecountrydatadevice_branddevice_carrierdevice_familydevice_iddevice_manufacturerdevice_modeldevice_typedmaevent_idevent_propertiesevent_timeevent_typefollowed_an_identifygroup_propertiesgroupsidfaip_addressis_attribution_eventlanguagelibrarylocation_latlocation_lngos_nameos_versionpayingplatformprocessed_timeregionsample_rateserver_upload_timesession_idstart_versionuser_iduser_propertiesuuidversion_nameamplitude_attribution_idsserver_received_timeglobal_user_propertiespartner_idplansource_iddata_type
詳細については、Snowflake Export ドキュメントの「イベントテーブルスキーマ」セクションを参照してください。
イベントテーブルのクラスタリング
エクスポートされたイベントテーブルは、次のクラスタリングキーを(順番に)使用します。
TO_DATE(EVENT_TIME)TO_DATE(SERVER_UPLOAD_TIME)EVENT_TYPEAMPLITUDE_ID
このクラスタリングにより、時間ベースのクエリのクエリパフォーマンスが最適化されます。データ共有はAmplitudeが所有するテーブルへの読み取り専用アクセスを提供するため、クラスタリングキーを変更することはできません。 異なるクエリパターンに対応するカスタムクラスタリングが必要な場合は、代わりに Snowflake エクスポートを使用してテーブルの完全な所有権と制御を行います。
マージされたユーザーテーブル
マージされたユーザーのテーブルスキーマ
マージされたユーザーのテーブルスキーマには、次のものが含まれています。
amplitude_idmerge_event_timemerge_server_timemerged_amplitude_id
詳細については、Snowflakeエクスポートのドキュメントのマージされたユーザーテーブルスキーマセクションを参照してください。
マージされたユーザーテーブルのクラスタリング
Amplitude は DATE_TRUNC('HOUR', MERGE_SERVER_TIME) を基準にマージ済み ID テーブルをクラスタリングします。これにより、ユーザーのマージが発生した時刻でフィルタリングするクエリが最適化されます。データ共有はAmplitudeが所有するテーブルへの読み取り専用アクセスを提供するため、クラスタリングキーを変更することはできません。 さまざまなクエリパターンを最適化するためのカスタムクラスタリングには、代わりに Snowflake Export を使用してください。これにより、テーブルに対する完全な所有権と制御が可能になります。
イベント変換テーブル
Amplitudeは、DB_{ORG_ID}.AMPLITUDE.EVENT_TRANSFORMATIONS_{PROJECT_ID}で変換定義を共有しています。各行は、特定のスナップショットにおける1つの変換定義です。
| 列 | タイプ | 概要 |
|---|---|---|
project_id | 番号 | AmplitudeプロジェクトID。 |
snapshot_at | タイムスタンプ | Amplitudeがこのスナップショットを生成したときのことです。 |
export_job_id | 文字列 | このスナップショットを書き込んだエクスポート実行の識別子。 |
transformation_id | 文字列 | 安定した変換識別子。 |
name | 文字列 | UIでの変換表示名。 |
description | 文字列 | 自由形式の説明。 |
transform_type | 文字列 | 変換タイプ(マージされたイベントやマージされたイベントから派生したプロパティなど)。 |
merged_props | バリアント | マージタイプの変換を行う場合、ターゲットプロパティからソースプロパティへのマッピング。 |
merge_priority | バリアント | マージ解決のための符号化された優先順位規則。 |
merged_events | バリアント | 変換を作成するためにどのイベントが結合されるかを定義します。 |
derived_props | バリアント | 変換によって作成されるプロパティ。 これはAmplitudeのスタンドアロンの派生プロパティ機能と同じではありません。 |
derived_props_for_merge_events | バリアント | マージ変換時に使用されるマージイベント固有の派生プロパティマッピング。 |
is_enabled | ブール値 | 変換がアクティブかどうか。 Amplitudeは無効化された変換を適用しません。 |
created_at | タイムスタンプ | 誰かが変換を作成したとき。 |
created_by | 文字列 | 変換を作成したユーザー。 |
last_updated_at | タイムスタンプ | 誰かが変換を最後に変更した日時。 |
last_updated_by | 文字列 | 変換を最後に変更したユーザー。 |
型付きの列には半構造化 JSON VARIANTが保持されます。Snowflakeの半構造化データ関数を使用してクエリを実行できます。
カスタムイベントテーブル
Amplitudeは、DB_{ORG_ID}.AMPLITUDE.CUSTOM_EVENTS_{PROJECT_ID} でカスタムイベント定義を共有しています。 各行は、特定のスナップショットにおける 1 つのカスタムイベント定義です。
| 列 | タイプ | 概要 |
|---|---|---|
project_id | 番号 | AmplitudeプロジェクトID。 |
snapshot_at | タイムスタンプ | Amplitudeがこのスナップショットを生成したときのことです。 |
export_job_id | 文字列 | このスナップショットを書き込んだエクスポート実行の識別子。 |
custom_event_id | 文字列 | 安定したカスタムイベント識別子。 |
name | 文字列 | 標準的なカスタムイベント名。 |
display_name | 文字列 | UIに表示される、ユーザーにわかりやすい名前。 |
description | 文字列 | 自由形式の説明。 |
definition | バリアント | カスタムイベントの定義式(フィルタやグループなど)。 |
category | 文字列 | オプションのカテゴリまたはグループ。 |
classifications | 配列 | 追加のタグまたは分類。 |
suggestion_status | 文字列 | 提案の状態(提案済み、承認済み、拒否済みなど)。 |
has_properties | ブール値 | カスタムイベントにカスタムプロパティが定義されているかどうか。 |
is_official | ブール値 | これが組織公式のカスタムイベントかどうか。 |
is_restricted | ブール値 | アクセスが特定のユーザーまたはロールに制限されているかどうか。 |
is_autotrack | ブール値 | 自動タグ付けがこのカスタムイベントを生成したかどうか。 |
is_hidden | ブール値 | カスタムイベントを標準のUIリストから非表示にするかどうか。 |
created_at | タイムスタンプ | 誰かがカスタムイベントを作成したとき。 |
created_by | 文字列 | カスタムイベントを作成したユーザー。 |
last_updated_at | タイムスタンプ | カスタムイベントが最後に変更された日時。 |
last_updated_by | 文字列 | カスタムイベントを最後に変更したユーザー。 |
これは役に立ちましたか?