Salesforce の転送の概要
Salesforce Sales Cloud から BigQuery にデータを読み込むには、Salesforce 用 BigQuery Data Transfer Service コネクタを使用します。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 の詳細を確認する。