Salesforce Data Cloud ファイル共有のためのレイクハウスフェデレーション
プレビュー
この機能は パブリック プレビュー段階です。
このページでは、ファイル共有コネクタを使用して Salesforce Data Cloud でデータを読み取る方法について説明します。
どの Salesforce コネクタを使用すべきですか?
Databricks には、Salesforce 用の複数のコネクタが用意されています。ゼロコピー コネクタには、Salesforce Data Cloud ファイル共有コネクタと Salesforce Data Cloud クエリ フェデレーション コネクタの 2 つがあります。これにより、Salesforce Data Cloudのデータを移動せずにクエリを実行できます。また、Salesforce Data Cloud や Salesforce Sales Cloud など、さまざまな Salesforce 製品からデータをコピーする Salesforce インジェスト コネクタもあります。
次の表は、Databricks の Salesforce コネクタ間の違いをまとめたものです。
コネクター | ユースケース | サポートされている Salesforce 製品 |
---|---|---|
Salesforce Data Cloudファイル共有 | レイクハウスフェデレーションで Salesforce Data Cloud ファイル共有コネクタを使用すると、 Databricks は Salesforce Data-as-a-Service (DaaS) APIs を呼び出して、基盤となるクラウドオブジェクトストレージの場所のデータを直接読み取ります。 クエリは、Databricks プロトコルを使用せずに コンピュートで実行されます。JDBC クエリフェデレーションと比較すると、ファイル共有は大量のデータをフェデレーションするのに理想的です。これにより、複数のデータソースからファイルを読み取るためのパフォーマンスが向上し、プッシュダウン機能が向上します。「Salesforce Data Cloud ファイル共有のレイクハウスフェデレーション」を参照してください。 | Salesforce データクラウド |
Salesforce Data Cloud クエリ フェデレーション | レイクハウスフェデレーションで Salesforce Data Cloud クエリ フェデレーション コネクタを使用すると、 Databricks は JDBC を使用してソース データに接続し、クエリを Salesforce にプッシュします。 「 Salesforce Data Cloud での統合クエリの実行」を参照してください。 | Salesforce データクラウド |
Salesforce の取り込み | LakeFlow Connect の Salesforce インジェスト コネクタを使用すると、Salesforce Data Cloud や Salesforce Sales Cloud のデータなど、Salesforce Platform データからフルマネージド インジェスト パイプラインを作成できます。このコネクタは、CDPデータだけでなく、Data Intelligence PlatformのCRMデータも活用することで、価値を最大化します。「Salesforce からのデータの取り込み」を参照してください。 | Salesforce Data Cloud、Salesforce Sales Cloudなど。サポートされている Salesforce 製品の包括的な一覧については、「 Salesforce インジェスト コネクタがサポートする Salesforce 製品」を参照してください。 |
始める前に
ワークスペースの要件:
- Unity Catalogのワークスペースが有効になっています。
コンピュートの要件:
- Databricks コンピュート リソースから、データが存在する Salesforce Data Cloud API および Salesforce Data Cloud の公開S3バケットへのネットワーク接続。「レイクハウスフェデレーションのネットワーキングに関する推奨事項」を参照してください。
- Databricks クラスタリングでは Databricks Runtime 16.3 以降と標準アクセス モードを使用する必要があります。
- SQLウェアハウスはProまたはServerlessである必要があります。
必要な権限:
- 接続を作成するには、メタストア管理者か、ワークスペースに接続されているUnity Catalogメタストアの
CREATE CONNECTION
権限を持つユーザーである必要があります。 - フォーリンカタログを作成するには、メタストアに対する
CREATE CATALOG
権限を持ち、接続の所有者であるか、接続に対するCREATE FOREIGN CATALOG
権限を持っている必要があります。
追加の権限要件は、以下の各タスクベースのセクションに記載しています。
接続とフォーリンカタログの作成
接続では、外部データベースシステムにアクセスするためのパスと認証情報を指定します。接続を作成するには、カタログエクスプローラーを使用するか、Databricksノートブックまたは Databricks SQLクエリーエディタで CREATE CONNECTION
SQLコマンドを使用できます。
Databricks REST API または Databricks CLI を使用して接続を作成することもできます。 POST /api/2.1/unity-catalog/connections および Unity Catalog コマンドを参照してください。
必要な権限: メタストア管理者またはCREATE CONNECTION
権限を持つユーザー。
- Catalog Explorer
- SQL
-
Databricks ワークスペースで、
カタログ をクリックします。
-
[カタログ]ウィンドウの上部にある [
追加] アイコンをクリックし、メニューから [ 接続の追加] を選択します。
または、 クイックアクセス ページから 外部データ > ボタンをクリックし、 接続 タブに移動して 接続を作成 をクリックします。
-
接続のセットアップ ウィザードの 接続の基本 ページで、わかりやすい 接続名 を入力します。
-
[接続の種類 ] で [Salesforce Data Cloud ファイル共有] を選択します。
-
(オプション)コメントを追加します。
-
接続の作成 をクリックします。
-
[認証 ] ページで、Salesforce Data Cloud ファイル共有インスタンスの次のプロパティを入力します。
- テナント固有のエンドポイント : たとえば、
https://mvsw0mbrmqzdcyj-m02t0mrsh1.pc-rnd.c360a.salesforce.com
- コア テナント ID : たとえば、
core/falcontest8-core4sdb26/00DVF000001E16v2AC
- テナント固有のエンドポイント : たとえば、
-
カタログの基本 ページで、フォーリンカタログの名前を入力します。 フォーリンカタログは、外部データシステム内のデータベースをミラーリングするため、DatabricksとUnity Catalogを使用して、そのデータベース内のデータへのアクセスを管理できます。
-
(オプション)[ 接続をテスト ]をクリックして、動作することを確認します。
-
[ カタログを作成 ] をクリックします。
-
アクセス ページで、作成したカタログにユーザーがアクセスできるワークスペースを選択します。 すべてのワークスペースにアクセス権がある を選択するか、 ワークスペースに割り当て をクリックし、ワークスペースを選択して 割り当て をクリックします。
-
カタログ内のすべてのオブジェクトへのアクセスを管理できる 所有者 を変更します。テキスト ボックスにプリンシパルの入力を開始し、返された結果でプリンシパルをクリックします。
-
カタログに対する 権限を付与 します。[ 許可 ] をクリックします。
ある。カタログ内のオブジェクトにアクセスできる プリンシパル を指定します。テキスト ボックスにプリンシパルの入力を開始し、返された結果でプリンシパルをクリックします。ある。各プリンシパルに付与する 権限プリセット を選択します。デフォルトでは、すべてのアカウントユーザーに
BROWSE
が付与されます。- ドロップダウンメニューから「 データ閲覧者 」を選択して、カタログ内のオブジェクトに対する
read
権限を付与します。 - ドロップダウンメニューから「 データエディタ 」を選択して、カタログ内のオブジェクトに対する
read
権限とmodify
権限を付与します。 - 付与する権限を手動で選択します。
a. [Grant] をクリックします。
- ドロップダウンメニューから「 データ閲覧者 」を選択して、カタログ内のオブジェクトに対する
-
次へ をクリックします。
-
[メタデータ] ページで、タグのキーと値のペアを指定します。詳細については、「Unity Catalog セキュリティ保護可能なオブジェクトにタグを適用する」を参照してください。
-
(オプション)コメントを追加します。
-
保存 をクリックします。
-
Account URL
とConnection URL
をメモします。これらの値は、Salesforce でデータ共有ターゲットを作成するために必要になります。
-
ノートブックまたはDatabricks SQLクエリーエディタで次のコマンドを実行します。
SQLCREATE 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 ファイル共有から Spark に読み取る場合、データ型は次のようにマップされます。
Salesforce Data Cloud ファイル共有の種類 | Spark タイプ |
---|---|
Number | DecimalType(38, 18) |
Boolean | BooleanType |
Text | StringType |
Date | DateType |
日時型 | TimestampType |
Eメール (Text) | StringType |
パーセント (数値) | DecimalType(38, 18) |
電話(テキスト) | StringType |
URL(テキスト) | StringType |
制限
- CSV アップロードを使用して Salesforce Data Cloud で作成されたテーブルはサポートされていません。
- コネクタは、シングルユーザー クラスタリングでは使用できません。