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.
Amazon RedShift
倉庫のイベントフィルタリングは、EU 地域では使用できません。
AmplitudeイベントデータをRedshiftアカウントにアップロードします。 Amplitude UIを通じて定期的な同期を設定したり、履歴データの同期を手動で開始したりできます。
制限事項
- Redshift SQLクエリを1つ実行できる時間は最大12時間です。
考慮事項
- AmplitudeはパブリックRedshiftエンドポイントのみをサポートしています。 プライベートエンドポイントはサポートされていません。
- デフォルトでは、Redshift クラスターは受信トラフィックを許可しません。 Redshiftクラスターのセキュリティグループで、AmplitudeのIPアドレスを許可リストに追加する必要があります。
前提条件
Amplitudeでの管理者権限と、Redshiftでリソースを有効にできるロールが必要です。
Redshiftクラスターのセキュリティグループ内のAmplitudeのIPアドレスを許可リストに登録してください。 詳細については、Redshift のドキュメントを参照してください。
Redshiftクラスターに関連付けられているセキュリティグループのページから、インバウンドルールを追加します。より詳細な手順については、Redshift のドキュメントを参照してください。
Redshift クラスターに割り当てられているセキュリティグループを見つけるには:
Redshiftクラスターに移動します。
[プロパティ] タブに移動し、[ネットワークとセキュリティ設定] の下の [VPC セキュリティグループ] へのリンクを使用します。
次の情報を追加してください。
- プロトコル: TCP
- ポート範囲:データソースで使用されるオープンポートの番号です。
- ソース:カスタム IP(デフォルト)。AmplitudeのデータセンターがEUか米国のどちらを使用しているかに応じて、正しい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
- Amplitude米国のIPアドレス:
- 説明:ルールの説明です。
連携を設定する
Redshiftへの定期的なデータエクスポートを設定する
繰り返しデータエクスポートの作成には、3つのステップが必要です。各同期は通常 5 ~ 10 分以内に完了するため、各ジョブのステータスをモニターできます。
AmplitudeデータのRedshiftへの定期的なエクスポートを設定するには:
Amplitudeデータで、**[カタログ]をクリックし、[宛先]**タブを選択します。
[Warehouse Destinations] セクションで、[Redshift] をクリックします。
Redshift へデータをエクスポートするの下で、エクスポートするデータを選択します。今日取り込まれたイベントとそれ以降のイベントをエクスポート、マージされたすべての Amplitude ID をエクスポート、またはその両方を選択できます。イベントに対しては、特定の基準を満たすイベントのみをエクスポートするようにフィルタリング条件を指定することもできます。
イベントテーブルとマージIDテーブルのスキーマを確認し、次へをクリックします。
「Amplitude の Redshift 認証情報」セクションに、次の情報を入力します。
- ユーザー:AmplitudeがRedshiftインスタンスに接続するために使用するRedshiftユーザーアカウントです。
- パスワード: ユーザーに関連付けられているパスワードです。
- データベース:Amplitudeがデータをエクスポートおよび保存するデータベースです。 Amplitudeは、Amplitudeデータ専用のデータベースを構築することを推奨しています。
- クラスターホストアドレス: データベースをホストしているクラスターのエンドポイントのアドレスです。
- ポート:クラスタホストアドレスのポートです。ポートには数字しか含められません。 デフォルト値は5439です。
認証情報セクションの横に、AmplitudeはRedshiftオブジェクトを作成するために使用するクエリを動的に作成します。 クリップボードにコピーするには、コピーをクリックします。これで、Redshift CLI に貼り付けることができます。
次へ をクリックします。 Amplitudeは入力した認証情報を使用してテストデータをアップロードしようとします。 アップロードが成功したら、完了をクリックします。
Amplitudeは今後のイベントをすべて自動的にRedshiftに送信します。
ここからAmplitudeはマイクロバッチファイルを生成し、ベストエフォートベースで顧客所有のRedshiftアカウントにそれらをロードします。 エクスポートは通常10分ごとに実行されますが、システムの負荷とデータ量によっては実行頻度が低い場合があります。 通常、Amplitudeがイベントを受信してから20分以内にRedshiftアカウントでデータを確認できますが、タイミングは前後する場合があります。
Amplitudeの履歴データをRedshiftにエクスポートする
AmplitudeからRedshiftに履歴データをエクスポートするには、Backfills タブに移動し、日付範囲を選択して、Start Backfill をクリックします。
このプロセスには、データ量、ウェアハウスのサイズ、クラスター数、ネットワーク帯域幅、現在実行されている履歴データの同時エクスポート数などの要因によって、1日から数週間かかることがあります。
バックフィルの範囲が以前にエクスポートされたデータの範囲と重複する場合、Amplitudeは重複するデータの重複除外を行います。
Redshiftエクスポート形式
イベントテーブルのスキーマには、次の列が含まれています。
| 列 | タイプ | 概要 |
|---|---|---|
Adid | 文字列 | (Android)Google Playサービスの広告ID(ADID)。例:AEBE52E7-03EE-455A-B3C4-E57283966239 |
amplitude_event_type | VARCHAR(1677721) | Amplitudeが生成するイベントに基づくAmplitude固有の識別子。これはレガシーフィールドであるため、すべてのクエリにおいてevent_typeで十分です |
amplitude_id | BIGNUMERIC | ユーザーのオリジナルAmplitude ID。このフィールドを使用して、マージされたユーザーを自動的に処理できます。 例:2234540891 |
app | INT64 | プロジェクトの [設定] ページにあるプロジェクトIDです。例:123456 |
city | 文字列 | 都市 |
client_event_time | タイムスタンプ | デバイスがイベントを記録した時点のローカルタイムスタンプ(UTC)。例:2015-08-10T12:00:00.000000 |
client_upload_time | タイムスタンプ | デバイスがイベントをアップロードした時点のローカルタイムスタンプ(UTC)。 例:2015-08-10T12:00:00.000000 |
country | 文字列 | 国。例:「アメリカ合衆国」 |
data | スーパー | first_eventやmerged_amplitude_idなどの特定のフィールドを格納するディクショナリ。 |
device_brand | 文字列 | デバイスのブランド。 例:アップル |
device_carrier | 文字列 | デバイスキャリア。例:Verizon |
device_family | 文字列 | デバイスファミリ。例:アップルのiPhone |
device_id | 文字列 | デバイス固有の識別子。 例:C8F9E604-F01A-4BD9-95C6-8E5357DF265D |
device_manufacturer | 文字列 | デバイスの製造元。 例:アップル |
device_model | 文字列 | デバイスモデル。 例:iPad Mini |
device_type | 文字列 | デバイスのタイプ。 例:アップルのiPhone 5s |
dma | 文字列 | 指定マーケティングエリア(DMA)。例:サンフランシスコ–オークランド–サンノゼ(カリフォルニア州) |
event_id | INT64 | イベントを区別するカウンタ。 例: 1 |
event_properties | スーパー | |
event_time | タイムスタンプ | Amplitudeタイムスタンプ(UTC)は、client_event_timeをserver_received_timeとclient_upload_timeの差で調整したものです。具体的には、event_time = client_event_time + (server_received_time - client_upload_time) となります。Amplitudeは、このタイムスタンプを使用してAmplitudeチャート上のイベントを整理します。注: server_received_timeと client_upload_timeの差が 60 秒未満の場合、event_time は調整されず、client_event_time と等しくなります。例:2015-08-10T12:00:00.000000 |
event_type | 文字列 | |
followed_an_identify | ブール | この現在の SDK イベントと最後に認識された SDK イベントとの間に識別イベントがあった場合は True です。 例:True |
group_properties | スーパー | |
groups | スーパー | グループのタイプ。 詳細については、アカウントに関するドキュメントを参照してください。 |
idfa | 文字列 | (iOS)広告主の識別子です。 例:AEBE52E7-03EE-455A-B3C4-E57283966239 |
ip_address | 文字列 | IP アドレス。 例:「123.11.111.11」 |
is_attribution_event | ブール | |
language | 文字列 | |
library | 文字列 | |
location_lat | FLOAT64 | 緯度。 例:12.3456789 |
location_lng | FLOAT64 | 経度。 例: -123.4567890 |
os_name | 文字列 | OS名。例:ios |
os_version | 文字列 | OS バージョン。 |
paying | 文字列 | ユーザーが収益を記録したことがある場合は True で、そうでない場合は (なし) です。 プロパティ値は、Identify APIを使用して変更できます。例:true |
platform | 文字列 | |
processed_time | タイムスタンプ | |
region | 文字列 | 地域例:カリフォルニア州 |
sample_rate | BIGNUMERIC | |
server_received_time | タイムスタンプ | |
server_upload_time | タイムスタンプ | Amplitudeサーバーがイベントを受信した時のAmplitudeタイムスタンプ(UTC)。 例: 2015-08-10T12:00:00.000000 |
session_id | BIGNUMERIC | エポックからのセッション開始時刻(ミリ秒単位)。 例: 1396381378123 |
start_version | 文字列 | ユーザーが最初に追跡されたアプリのバージョン。 例:1.0.0 |
user_id | 文字列 | あなたが指定した、読み取り可能なID。これは変更されないはずです。そのため、ユーザーのメールアドレスを使用することは推奨されません。 |
user_properties | スーパー | |
uuid | 文字列 | 行ごとに一意の識別子(送信されたイベント)。 例:bf0b9b2a-304d-11e6-934f-22000b56058f |
version_name | 文字列 | アプリのバージョン。 例:1.0.0 |
マージされたユーザーのテーブルスキーマ
マージされたユーザーのテーブルスキーマには、次のものが含まれています。
| 列 | タイプ | 概要 |
|---|---|---|
amplitude_id | NUMBER(38,0) | Amplitude IDはユーザーのオリジナルAmplitude IDにマージされます。 |
merge_event_time | タイムスタンプ | ユーザーの新しいAmplitude IDが元のAmplitude IDに関連付けられたイベントが発生した時刻。 |
merge_server_time | タイムスタンプ | ユーザーの新しいAmplitude IDが元のAmplitude IDに関連付けられたときのイベントのサーバー時間。 |
merged_amplitude_id | NUMBER(38,0) | ユーザーが最初に作成されたときに最初に割り当てられたAmplitude ID。 |
トラブルシューティング
Redshiftにデータをエクスポートする際、いくつかの一般的なエラーが発生することがあります。以下に、エラーとそれに関連する解決策の一覧を示します。
文字列長超過による DDL エラー
このエラーは、文字列の長さがテーブルスキーマで定義されている最大許容長を超えた場合に発生します。 このエラーを回避するには、エクスポートされるデータがスキーマ定義に準拠していることを確認してください。
ソリューション:
- データの長さを検証する: データをエクスポートする前に、文字列フィールドの長さを検証して、許容される最大長を超えていないことを確認してください。
- スキーマの調整: 必要に応じて、VARCHAR フィールドの長さを増やすことにより、より長い文字列に対応するようにスキーマを調整します。
これは役に立ちましたか?