從 Salesforce 擷取資料
重要
LakeFlow Connect 處於封閉式公開預覽狀態。 若要參與預覽,請聯絡您的 Databricks 帳戶團隊。
本文說明如何使用 LakeFlow Connect 從 Salesforce 內嵌數據並將其載入 Azure Databricks。 產生的擷取管線是由 Unity 目錄所控管,並由無伺服器計算和 Delta 實時數據表提供電源。
Salesforce 擷取連接器支援下列來源:
- Salesforce Sales Cloud
開始之前
若要建立擷取管線,必須符合下列需求:
已為 Unity Catalog 啟用工作區。
已為筆記本、工作流程和 Delta 實時資料表啟用無伺服器計算。 請參閱啟用無伺服器計算。
若要建立連線:您在
CREATE CONNECTION
中繼存放區上有 。若要使用現有的連線:您在
USE CONNECTION
連線物件上有 或ALL PRIVILEGES
。目標目錄中的
USE CATALOG
。USE SCHEMA
和CREATE TABLE
在現有的架構或CREATE SCHEMA
目標目錄上。(建議)建立 Databricks 可用來擷取數據的 Salesforce 使用者。 請確定使用者具有 API 存取權,以及您計畫內嵌的所有物件存取權。
建立 Salesforce 連線
必要許可權:CREATE CONNECTION
中繼存放區上。 請聯絡中繼存放區管理員以授與此權限。
如果您想要使用現有的連線建立擷取管線,請跳至下一節。 USE CONNECTION
您需要或ALL PRIVILEGES
連線。
若要建立 Salesforce 連線,請執行下列動作:
在 Azure Databricks 工作區中,按兩下 [目錄 > 外部位置 > 連線 > 建立連線]。
針對 [ 連線],指定 Salesforce 連接的唯一名稱。
針對 [ 連線類型],按兩下 [ Salesforce]。
如果您要從 Salesforce 沙盒帳戶擷取,請將 [沙箱] 設定為
true
。按一下 [使用 Salesforce 登入]。
如果您要從 Salesforce 沙箱內嵌,請按兩下 [ 使用自訂網域]。 提供沙箱 URL,然後繼續登入。 Databricks 建議以專門用於 Databricks 擷取的 Salesforce 使用者身分登入。
返回 [ 建立連線] 頁面之後,按兩下 [ 建立]。
建立擷取管線
需要的許可權:USE CONNECTION
或ALL PRIVILEGES
連線上的許可權。
此步驟說明如何建立擷取管線。 每個擷取的數據表都會對應至目的地中名稱相同(但所有小寫)的串流數據表,除非您明確重新命名。
Databricks UI
在 Azure Databricks 工作區的提要字段中,按兩下 [ 數據擷取]。
在 [新增數據] 頁面上的 [Databricks 連接器] 底下,按兩下 [Salesforce]。
Salesforce 擷取精靈隨即開啟。
在精靈的 [ 管線] 頁面上,輸入擷取管線的唯一名稱。
在 [ 目的地目錄 ] 下拉式清單中,選取目錄。 擷取的數據和事件記錄檔將會寫入此目錄。
選取儲存存取 Salesforce 資料所需認證的 Unity 目錄連線。
如果沒有 Salesforce 連線,請按兩下 [ 建立連線]。 您必須擁有
CREATE CONNECTION
中繼存放區的許可權。按兩下 [ 建立管線] 並繼續。
在 [來源] 頁面上,選取要內嵌至 Databricks 的 Salesforce 數據表,然後按 [下一步]。
如果您選取架構,Salesforce 擷取連接器會將來源架構中的所有現有和未來的數據表寫入 Unity 目錄受控數據表。
在 [ 目的地 ] 頁面上,選取要寫入的 Unity 目錄目錄和架構。
如果您不想使用現有的架構,請按兩下 [ 建立架構]。 您必須擁有
USE CATALOG
父目錄的 和CREATE SCHEMA
許可權。按兩下 [ 儲存管線] 並繼續。
在 [ 設定] 頁面上,按兩下 [ 建立排程]。 設定重新整理目的地數據表的頻率。
選擇性地設定管線作業成功或失敗的電子郵件通知。
按兩下 [ 儲存並執行管線]。
Databricks Asset Bundles
此索引標籤描述如何使用 Databricks 資產組合 (DAB) 部署擷取管線。 套件組合可以包含作業和工作的 YAML 定義、使用 Databricks CLI 來管理,而且可以在不同的目標工作區中共用和執行 (例如開發、預備和生產環境)。 如需詳細資訊,請參閱 Databricks 資產套件組合。
使用 Databricks CLI 建立新的套件組合:
databricks bundle init
將兩個新的資源檔案新增至套件組合:
- 管線定義檔 (
resources/sfdc_pipeline.yml
)。 - 控制數據擷取頻率的工作流程檔案 (
resources/sfdc_job.yml
)。
下列為
resources/sfdc_pipeline.yml
檔案範例:variables: dest_catalog: default: main dest_schema: default: ingest_destination_schema # The main pipeline for sfdc_dab resources: pipelines: pipeline_sfdc: name: salesforce_pipeline ingestion_definition: connection_name: <salesforce-connection> objects: # An array of objects to ingest from Salesforce. This example # ingests the AccountShare, AccountPartner, and ApexPage objects. - table: source_schema: objects source_table: AccountShare destination_catalog: ${var.dest_catalog} destination_schema: ${var.dest_schema} - table: source_schema: objects source_table: AccountPartner destination_catalog: ${var.dest_catalog} destination_schema: ${var.dest_schema} - table: source_schema: objects source_table: ApexPage destination_catalog: ${var.dest_catalog} destination_schema: ${var.dest_schema} channel: "preview"
下列為
resources/sfdc_job.yml
檔案範例:resources: jobs: sfdc_dab_job: name: sfdc_dab_job trigger: # Run this job every day, exactly one day from the last run # See https://docs.databricks.com/api/workspace/jobs/create#trigger periodic: interval: 1 unit: DAYS email_notifications: on_failure: - <email-address> tasks: - task_key: refresh_pipeline pipeline_task: pipeline_id: ${resources.pipelines.pipeline_sfdc.id}
- 管線定義檔 (
使用 Databricks CLI 部署管線:
databricks bundle deploy
Databricks CLI
若要建立管線:
databricks pipelines create --json "<pipeline-definition | json-file-path>"
若要更新管線:
databricks pipelines update --json "<<pipeline-definition | json-file-path>"
若要取得管線定義:
databricks pipelines get "<pipeline-id>"
若要刪除管線:
databricks pipelines delete "<pipeline-id>"
如需詳細資訊,您可以執行:
databricks pipelines --help
databricks pipelines <create|update|get|delete|...> --help
在您的管線上啟動、排程及設定警示
建立管線之後,請重新瀏覽 Databricks 工作區,然後按一下 Delta Live Tables。
新的管線會出現在管線清單中。
若要檢視管線詳細資料,請按一下管線名稱。
在管線詳細資料頁面上,按一下 [開始] 可執行管線。 按一下 [排程] 可排程管線。
若要在管線上設定警示,請按一下 [排程],再按一下 [更多選項],然後新增通知。
擷取完成之後,可以查詢資料表。
注意
當管線執行時,您可能會看到指定數據表的兩個來源檢視。 一個檢視包含公式欄位的快照集。 另一個檢視包含非公式欄位的累加式數據提取。 這些檢視會聯結在目的地數據表中。