このページでは、ファイル共有コネクタを使用して Salesforce Data Cloud のデータを読み取る方法について説明します。
どの Salesforce コネクタを使用する必要がありますか?
Databricks には、Salesforce 用の複数のコネクタが用意されています。 コピーが 0 の 2 つのコネクタがあります。Salesforce Data Cloud ファイル共有コネクタと Salesforce Data Cloud クエリ フェデレーション コネクタです。 これにより、Salesforce Data Cloud 内のデータを移動せずにクエリを実行できます。 さまざまな Salesforce 製品からデータをコピーする Salesforce インジェスト コネクタもあります。
次の表は、Databricks の Salesforce コネクタの違いをまとめたものです。
コネクタ | 利用シーン | サポートされている Salesforce 製品 |
---|---|---|
Salesforce Data Cloud のファイル共有 | Lakehouse Federation で Salesforce Data Cloud ファイル共有コネクタを使用すると、Databricks は Salesforce Data-as-a-Service (DaaS) API を呼び出して、基になるクラウド オブジェクトの保存場所にあるデータを直接読み取ります。 クエリは、JDBC プロトコルを使用せずに Databricks コンピューティングで実行されます。 クエリのフェデレーションと比較して、ファイル共有は大量のデータのフェデレーションに最適です。 複数のデータ ソースからファイルを読み取るためのパフォーマンスが向上し、プッシュダウン機能が向上します。 Salesforce Data Cloud ファイル共有の Lakehouse フェデレーションを参照してください。 |
Salesforce Data Cloud |
Salesforce Data Cloud クエリの統合 | Lakehouse Federation で Salesforce Data Cloud クエリ フェデレーション コネクタを使用すると、Databricks は JDBC を使用してソース データに接続し、クエリを Salesforce にプッシュします。 Salesforce Data Cloud でのフェデレーション クエリの実行を参照してください。 | Salesforce Data Cloud |
Salesforce データ取り込み | Lakeflow Connect の Salesforce インジェスト コネクタを使用すると、Salesforce Platform データからフル マネージドのインジェスト パイプラインを作成できます。 このコネクタは、CDP データだけでなく、データ インテリジェンス プラットフォームの CRM データも活用することで、価値を最大化します。 Salesforceからデータを取り込む |
Salesforce インジェスト コネクタでサポートされている Salesforce 製品を確認する |
開始する前に
ワークスペースの要件:
- Unity Catalog を使用できるワークスペース。
コンピューティング要件:
- Databricks コンピューティング リソースから、データが存在する Salesforce Data Cloud API と Salesforce Data Cloud のパブリック S3 バケットへのネットワーク接続。 「レイクハウス フェデレーションのためのネットワークに関する推奨事項」を参照してください。
- Azure Databricks クラスターでは、Databricks Runtime 16.3 以降と標準アクセス モードを使用する必要があります。
- SQL ウェアハウスは、Pro またはサーバーレスである必要があります。
必要なアクセス許可:
- 接続を作成するには、メタストア管理者であるか、ワークスペースにアタッチされている Unity カタログメタストアに対する
CREATE CONNECTION
権限を持つユーザーである必要があります。 - 外部カタログを作成するには、メタストアに対する
CREATE CATALOG
権限を持ち、接続の所有者であるか、接続に対するCREATE FOREIGN CATALOG
特権を持っている必要があります。
追加の権限要件は、以下の各タスク ベースのセクションで規定されています。
接続と外部カタログを作成する
接続では、外部データベース システムにアクセスするためのパスと資格情報を指定します。 接続を作成するには、Azure Databricks ノートブックまたは Databricks SQL クエリ エディターでカタログ エクスプローラーまたは CREATE CONNECTION
SQL コマンドを使用できます。
注
Databricks REST API または Databricks CLI を使用して接続を作成することもできます。 POST /api/2.1/unity-catalog/connections および Unity Catalog コマンドを参照してください。
必要な権限: メタストア管理者、または CREATE CONNECTION
特権を持つユーザー。
カタログ エクスプローラー
Azure Databricks ワークスペースで、[
カタログ。
[カタログ] ペインの上部にある
[追加] アイコンをクリックし、メニューから [接続の追加] を選択します。
または、[クイック アクセス] ページで、[外部データ >] ボタンをクリックし、[接続] タブに移動し、[接続の作成] をクリックします。
接続 のセットアップ ウィザードの [接続の基本] ページで、わかりやすい 接続名入力します。
Salesforce Data Cloud ファイル共有の接続の種類を選択します。
(省略可能)コメントを追加します。
[接続の作成] をクリックします。
[ 認証 ] ページで、Salesforce Data Cloud File Sharing インスタンスの次のプロパティを入力します。
-
テナント固有のエンドポイント: たとえば、
https://mvsw0mbrmqzdcyj-m02t0mrsh1.pc-rnd.c360a.salesforce.com
-
コア テナント ID: 例:
core/falcontest8-core4sdb26/00DVF000001E16v2AC
-
テナント固有のエンドポイント: たとえば、
カタログの基本 ページで、外部カタログの名前を入力します。 外部カタログは、外部データ システム内のデータベースをミラー化して、Azure Databricks と Unity Catalog を使用してそのデータベース内のデータへのアクセスを照会および管理できるようにします。
(省略可能) [接続のテスト] をクリックして、動作することを確認します。
カタログを作成 をクリックします。
[Access] ページで、作成したカタログにユーザーがアクセスできるワークスペースを選択します。 [すべてのワークスペースにアクセス権を持たせる] を選択するか、[ワークスペースへの割り当て] をクリックしてワークスペースを選択し、[割り当て] をクリックします。
カタログ内のすべてのオブジェクトへのアクセスを管理できる 所有者 を変更します。 テキストボックスに主要項目を入力し、表示された結果からその項目をクリックします。
カタログに関する権限 を付与します。 [許可] をクリックします。
ある。 カタログ内のオブジェクトにアクセスできる プリンシパル を指定します。 テキストボックスに主要項目を入力し、表示された結果からその項目をクリックします。 ある。 各プリンシパルに付与する 特権プリセット を選択します。 既定では、すべてのアカウント ユーザーに
BROWSE
が付与されます。- ドロップダウン メニューから [データ 閲覧者 を選択して、カタログ内のオブジェクトに対する
read
権限を付与します。 - ドロップダウン メニュー データ エディター を選択して、カタログ内のオブジェクトに対する
read
権限とmodify
権限を付与します。 - 付与する特権を手動で選択します。
ある。 [許可] をクリックします。
- ドロップダウン メニューから [データ 閲覧者 を選択して、カタログ内のオブジェクトに対する
[次へ] をクリックします。
[メタデータ] ページで、タグのキーと値のペアを指定します。 詳細については、「Unity カタログのセキュリティ保護可能なオブジェクトにタグを適用する」を参照してください。
(省略可能)コメントを追加します。
[保存] をクリックします。
Account URL
とConnection URL
をメモしておきます。 Salesforce でデータ共有ターゲットを作成するには、これらの値が必要です。
SQL
ノートブックまたは Databricks SQL クエリ エディターで次のコマンドを実行します。
CREATE CONNECTION <connection-name> TYPE SALESFORCE_DATA_CLOUD_FILE_SHARING OPTIONS ( tenant_specific_endpoint '<tenant_specific_endpoint>', core_tenant_id '<core_tenant_id>' );
新しく作成された接続の接続ページに移動し、
Account URL
とConnection URL
を書き留めます。 Salesforce でデータ共有ターゲットを作成するには、これらの値が必要です。
Salesforce でデータ共有ターゲットを作成する
前の手順で取得した Account URL
と Connection URL
を使用して、Salesforce でデータ共有ターゲットを作成します。
Salesforce ドキュメント のデータ共有ターゲットの作成 (Databricks) を参照してください。
データ型のマッピング
Salesforce Data Cloud File Sharing から Spark に読み取ると、データ型は次のようにマップされます。
Salesforce Data Cloud ファイル共有の種類 | Spark の種類 |
---|---|
番号 | DecimalType(38, 18) |
ブール値 | BooleanType |
テキスト | 文字列型 |
日付 | デートタイプ |
日時 | タイムスタンプ型 |
電子メール (テキスト) | 文字列型 |
パーセント (数値) | DecimalType(38, 18) |
電話 (テキスト) | 文字列型 |
URL (テキスト) | 文字列型 |
制限事項
- コネクタは、シングル ユーザー クラスターでは使用できません。