このページでは

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.

スノーフレーク

AmplitudeイベントデータをSnowflakeアカウントにロードします。 Amplitude UIを通じて定期的な同期を設定したり、履歴データの同期を手動で開始したりできます。

考慮事項

  • 会社のネットワークポリシーによっては、AmplitudeのサーバーがSnowflakeインスタンスにアクセスできるように、以下のIPアドレスを許可リストに追加する必要がある場合があります:

    • Amplitude米国のIPアドレス:
      • 52.33.3.219
      • 35.162.216.242
      • 52.27.10.221
    • Amplitude EU の IP アドレス:
      • 3.124.22.25
      • 18.157.59.125
      • 18.192.47.195

制限事項

  • 1つのSnowflake SQLクエリの最大実行時間は12時間です。
  • 各プロジェクトは、データタイプごとに1つのSnowflakeエクスポート送信先しか指定できません。これは、プロジェクトごとにイベントの送信先が1つ、マージされたIDの送信先が1つであることを意味します。

既存のSnowflake認証情報を再利用する

Snowflakeを新規にエクスポートまたはインポートする場合、Amplitudeを使用すると、以前に保存した認証情報を再入力する代わりに、組織から選択できます。 再利用可能な認証情報には、他のエクスポートやインポートからの接続、および他のプロジェクトで作成された接続が含まれます(権限がある場合)。

共有認証情報は一括で更新されます

Amplitudeは基盤レベルで認証情報を共有します。1つの接続でパスワードまたはキーペアを更新した場合、Amplitudeはそれらの認証情報を共有するすべての接続を更新します。 変更を行う前に、どの接続が認証情報を使用しているかを確認してください。

既存の認証情報を再利用するには、新しい接続を作成する際の認証情報入力ステップで「既存の認証情報を使用」を選択します。Amplitudeは、お客様の組織から保存されたすべての認証情報をリストアップします。 別のプロジェクトの資格情報を再利用するには、両方のプロジェクトでデータウェアハウス接続を作成するための権限が必要です。

連携を設定する

繰り返しデータ エクスポートの作成は 3 つのステップで構成されており、お客様ご自身で実行できます。各同期は通常 5~10 分以内に完了しますが、このタイミングはシステムの負荷とデータ量によって異なります。この方法では、ジョブを監視することもできます。

Amplitude データ用の専用ウェアハウスを使用

Amplitude は、Amplitude データのロードに専用の Snowflake ウェアハウスインスタンスを使用することを強く推奨しています。共有ウェアハウスを使用すると、負荷容量の問題が発生したり、他のSnowflake統合が中断したりする可能性があります。 最適なパフォーマンスを確保し、他のSnowflakeオペレーションとの競合を防ぐために、別個のウェアハウスを構成してください。

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

必要なユーザー権限

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

  1. Amplitudeデータで、**[カタログ]をクリックし、[宛先]**タブを選択します。

  2. [ウェアハウス送信先] セクションで、**[Snowflake] **をクリックします。

  3. *「データをSnowflakeにエクスポート」*の下で、このエクスポートに含めるデータを選択します。今日取り込まれたイベントと今後のイベントをエクスポートするか、マージされたすべてのAmplitude IDをエクスポートするか、または両方をエクスポートします。イベントに対しては、特定の基準を満たすイベントのみをエクスポートするようにフィルタリング条件を指定することもできます。

  4. イベントテーブルとマージ ID テーブルのスキーマを確認し、[Next]をクリックします。

  5. *[Amplitude の Snowflake 認証情報] *セクションに、次の情報を入力します。

    • アカウント識別子: Snowflakeアカウントの識別子(形式は<org-name>-<account-name>)。 詳細については、Snowflakeのアカウント識別子に関するドキュメント{:target="_blank" rel="noopener noreferrer"}を参照してください。
    • ウェアハウス:Amplitudeがデータをロードするために使用するウェアハウスです。Amplitudeデータ用の専用ウェアハウスを使用することで、他のSnowflake統合との負荷容量の問題を回避できます。 ウェアハウスを共有すると、他のSnowflake業務に支障をきたす可能性があります。
    • データベース:Amplitudeがデータを保存するデータベースです。このデータベースはAmplitudeデータ専用にしてください。
    • ロール:接続がこのデータを書き込むために使用するロールです。ロールのデフォルト値は AMPLITUDE のみです。
    • ユーザー名:AmplitudeがSnowflakeアカウントに接続するために使用するユーザー名です。

    Amplitudeは、Snowflake用のパスワードベースの認証とキーペア認証を提供しています。

Snowflake パスワード認証の廃止

2026年5月以降、Snowflake は単一要素パスワード認証のサポートを廃止します。 これは、AmplitudeからSnowflakeへのデータエクスポートに影響します。 Amplitudeはセキュリティを強化し、将来のSnowflakeとの互換性を確保するためにキーペア認証への移行を推奨しています。 移行に関するガイダンスについては、Snowflakeパスワード認証の廃止に関するよくある質問をご覧ください。

パスワードベースの認証を使用する場合は、パスワードは大文字と小文字を区別することに注意してください。

To use password authentication, select the Password option and enter your password in the Password field. Key pair authentication (Recommended): To use key pair authentication, select the Key pair option and click Generate Key. To use key pair authentication, provide the organization and account names in the format ORGNAME-ACCOUNTNAME.

キーペア認証を使用する場合は、ORGNAME-ACCOUNTNAME という形式を使用する必要があります。 この特定のフォーマットがない場合、Snowflake はJWT token is invalidエラーを生成します。

  1. 自動生成されたSQLクエリをコピーし、Snowflakeで実行して、Amplitudeに適切な権限を付与します。
  2. 次へ をクリックします。Amplitudeは入力した認証情報を使用してテストデータをアップロードしようとします。 アップロードが成功したら、[完了] をクリックします。

Amplitudeは今後のイベントをすべて自動的にSnowflakeに送信します。

ここからAmplitudeはマイクロバッチファイルを生成し、ベストエフォートベースで顧客所有のSnowflakeアカウントにそれらをロードします。 エクスポートは通常10分ごとに実行されますが、システムの負荷とデータ量によっては実行頻度が低い場合があります。 通常、Amplitudeがイベントを受信してから20分以内にSnowflakeアカウントのデータを表示できますが、そのタイミングは異なる場合があります。

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

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

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

提供状況

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

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

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

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

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

必要なユーザー権限

Amplitude の管理者/マネージャー権限と、ターゲットデータベースのAMPLITUDEスキーマにテーブルを作成できる Snowflake ロールが必要です。接続テストはこの許可を検証しません。そのため、サイレントエクスポートの失敗を避けるために、最初の同期を行う前にこの許可を確認してください。

  1. Amplitudeデータで、**[カタログ]をクリックし、[宛先]**タブを選択します。
  2. [ウェアハウス送信先] セクションで、**[Snowflake] **をクリックします。
  3. エクスポート設定で、[データ設定] を選択し、次に**[イベント変換]、[カスタムイベント]**、またはその両方を選択します。
  4. Amplitudeがスケジュールピッカーでスナップショットを更新する頻度を設定します。 ほとんどのチームにとって、デイリーはうまく機能します。
  5. Snowflakeの認証情報を入力または再利用し、生成されたSQL権限をSnowflakeで実行してから、「完了」をクリックします。

Amplitudeは各データ型をAMPLITUDEスキーマ内の独自のテーブルに書き込み、実行ごとに新しいスナップショットを追加します。 現在の定義を読み取るには、最新の snapshot_at を使用して行をクエリします。 過去の状態を検査するには、必要なスナップショットにフィルタリングしますsnapshot_at。 Amplitudeは約1年間分のスナップショットを保持します。

過去のAmplitudeデータをSnowflakeにエクスポートする

Amplitude から Snowflake に履歴データをエクスポートするには、連携に移動し、[データのエクスポート]をクリックして日付範囲を選択します。

このプロセスには1日から数週間かかることがあります。これは、データ量、ウェアハウスのサイズ、クラスタ数、ネットワーク帯域幅、および履歴データの同時エクスポート数などの要素によって異なります。

Snowflakeのコンピューテーションコストを削減

Amplitudeからデータを受信する際のSnowflakeのコンピューテーションコストを削減するには、以下の方法を試してください。

これらの推奨事項の有効性は、Snowflakeインスタンスにエクスポートする頻度によって異なります。他のSnowflake操作でパフォーマンス上の問題を防ぐために、Amplitudeデータ用の専用ウェアハウスを使用することを忘れないでください。

  • 専用のAmplitudeウェアハウス用のウェアハウスのサイズとクラスター数を変更できます。 エクスポートの頻度を短くしたい場合(15~30分)、xsmallまたは small から始めてみてください。 その後、必要に応じてアップグレードします。
  • データをSnowflakeにバックフィルする場合は、まず小さなウェアハウスから始め、必要に応じてアップグレードしてください。
  • また、自動サスペンド時間を60秒に短縮することもできます。 このオプションは、Snowflake UIでは使用できない場合がありますが、Snowflakeの直接クエリを使用して手動で設定できます。

Snowflakeのエクスポート形式

データの場所

Amplitudeは以下の命名規則を使用してデータをSnowflakeアカウントにエクスポートします。

たとえば、組織 ID が 12345 で、プロジェクト ID が 67890 の場合:

  • イベント: DB_12345.SCHEMA_67890.EVENTS_67890。
  • マージされたユーザー: DB_12345.SCHEMA_67890.MERGE_IDS_67890。

各プロジェクトは、データタイプごとに1つのSnowflakeエクスポート送信先しか指定できません。これは、プロジェクトごとにイベントの送信先が1つ、マージされたIDの送信先が1つであることを意味します。

イベントテーブル

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

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

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

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

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

これにより、時間ベースのクエリのクエリパフォーマンスが最適化されます。クラスタリングキーは、クエリパターンに合わせて変更できます。

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

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

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

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

Amplitudeは、マージされたIDテーブルを DATE_TRUNC('HOUR', MERGE_SERVER_TIME)でクラスタ化します。これにより、ユーザーのマージが発生した時刻でフィルタリングするクエリが最適化されます。クラスタリングキーは、クエリパターンに合わせて変更できます。

イベント変換テーブル

Amplitudeは変換定義を {database}.AMPLITUDE.EVENT_TRANSFORMATIONS_{project_id}に書き込みます。ここで、{database} は接続したデータベースであり、{project_id} は AmplitudeプロジェクトIDです。各行は、特定のスナップショットにおける1つの変換定義です。

型付きの列には半構造化 JSON VARIANTが保持されます。Snowflakeの半構造化データ関数{:target="_blank" rel="noopener noreferrer""}を使用してクエリを実行してください。

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

Amplitudeはカスタムイベント定義を {database}.AMPLITUDE.CUSTOM_EVENTS_{project_id} に書き込みます。 各行は、特定のスナップショットにおける 1 つのカスタムイベント定義です。

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