Salesforce 転送の概要
Salesforce Sales Cloud から BigQuery にデータを読み込むには、 BigQuery Data Transfer Service for Salesforce コネクタを使用します。BigQuery Data Transfer Service を使用すると、Salesforce Sales Cloud から BigQuery に最新のデータを追加する定期的な転送ジョブをスケジュール設定できます。
Salesforce 転送をスケジュール設定する方法については、 Salesforce データを BigQuery に読み込むをご覧ください。
データの取り込みオプション
以降のセクションでは、Salesforce データ転送を設定する際のデータの取り込みオプションについて詳しく説明します。
完全転送または増分転送
Salesforce 転送を設定するときに、転送 構成で [完全] または [増分] の書き込み設定を選択することで、BigQuery へのデータの読み込み方法を指定できます。
完全データ転送を構成すると、データ転送ごとに Salesforce データセットからすべてのデータが転送されます。または、増分データ転送 を構成して、データ転送ごとにデータセット全体を読み込むのではなく、 前回のデータ転送以降に変更されたデータのみを転送することもできます。データ転送で [増分] を選択した場合は、[追加] または [Upsert] の書き込みモードを指定して、データの増分転送中に BigQuery にデータを書き込む方法を定義する必要があります。以降のセクションでは、使用可能な書き込みモードについて説明します。
[追加] 書き込みモード
[追加] 書き込みモードでは、宛先テーブルに新しい行のみが挿入されます。このオプションでは、既存のレコードをチェックせずに転送されたデータが厳密に追加されるため、このモードでは宛先テーブルでデータが重複する可能性があります。
[追加] モードを選択した場合は、ウォーターマーク列を選択する必要があります。Salesforce コネクタがソーステーブルの変更を追跡するには、ウォーターマーク列が必要です。
レコードが作成されたときにのみ更新され、以降の更新では変更されないウォーターマーク列(CreatedDate 列など)を選択します。
[Upsert] 書き込みモード
[Upsert] 書き込みモードでは、主キーを確認して、宛先テーブルの行を更新するか、新しい行を挿入します。主キーを指定すると、Salesforce コネクタは、宛先テーブルをソーステーブルと同期するために必要な変更を特定できます。データ転送中に指定された主キーが宛先 BigQuery テーブルに存在している場合、Salesforce コネクタはソーステーブルの新しいデータでその行を更新します。データ転送中に主キーが存在していない場合、Salesforce コネクタは新しい行を挿入します。
[Upsert] モードを選択する場合は、ウォーターマーク列と主キーを選択する必要があります。
Salesforce コネクタがソーステーブルの変更を追跡するには、ウォーターマーク列が必要です。
行が変更されるたびに更新されるウォーターマーク列を選択します。
SystemModstamp列またはLastModifiedDate列を使用することをおすすめします。
主キーは、行の挿入または更新が必要かどうかを Salesforce コネクタが判断するために必要なテーブルの 1 つ以上の列です。
テーブルのすべての行で一意の null 以外の値を含む列を選択します。システムが生成した識別子、一意の参照コード(自動増分式の ID など)、不変の時間ベースのシーケンス ID を含む列をおすすめします。
データの損失や破損を防ぐため、選択する主キー列には一意の値が必要です。選択した主キー列の一意性に疑問がある場合は、代わりに [追加] 書き込みモードを使用することをおすすめします。
増分取り込みの動作
データソースのテーブル スキーマを変更すると、それらのテーブルからの増分データ転送は、次のように BigQuery に反映されます。
| データソースの変更 | 増分取り込みの動作 |
|---|---|
| 新しい列の追加 | 宛先 BigQuery テーブルに新しい列が追加されます。 この列の以前のレコードには null 値が設定されます。 |
| 列の削除 | 削除された列は宛先 BigQuery テーブルに残ります。この削除された列への新しいエントリには null 値が設定されます。 |
| 列のデータ型の変更 | コネクタは、
ALTER COLUMN DDL ステートメントでサポートされているデータ型変換のみをサポートします。
他のデータ型変換を行うと、データ転送が失敗します。
問題が発生した場合は、新しい転送 構成を作成することをおすすめします。 |
| 列の名前の変更 | 元の列は宛先 BigQuery テーブルにそのまま残り、更新された名前で新しい列が宛先テーブルに追加されます。 |
データ型マッピング
次の表に、Salesforce のデータ型と対応する BigQuery データ型を示します。
| Salesforce のデータ型 | BigQuery のデータ型 |
|---|---|
_bool |
BOOLEAN |
_int |
INTEGER |
_long |
INTEGER |
_double |
FLOAT |
currency |
FLOAT |
percent |
FLOAT |
geolocation (latitude) |
FLOAT |
geolocation (longitude) |
FLOAT |
date |
DATE |
datetime |
TIMESTAMP |
time |
TIME |
picklist |
STRING |
multipicklist |
STRING |
combobox |
STRING |
reference |
STRING |
base64 |
STRING |
textarea |
STRING |
phone |
STRING |
id |
STRING |
url |
STRING |
email |
STRING |
encryptedstring |
STRING |
datacategorygroupreference |
STRING |
location |
STRING |
address |
STRING |
anyType |
STRING |
料金
Salesforce 転送の料金については、 Data Transfer Service の料金をご覧ください。
次のステップ
- Salesforce 転送のスケジュール設定について学習する 。
- BigQuery Data Transfer Service の詳細を確認する。