在 BigQuery 中使用 Salesforce Data Cloud 資料
Data Cloud 使用者可在 BigQuery 中原生存取 Data Cloud 資料。您可以使用 BigQuery Omni 分析 Data Cloud 資料,並使用 Google Cloud中的資料執行跨雲端分析。本文件將說明如何存取 Data Cloud 資料,以及如何在 BigQuery 中使用該資料執行多項分析工作。
Data Cloud ���根據下列架構與 BigQuery 搭配運作:

事前準備
您必須是 Data Cloud 使用者,才能使用 Data Cloud 資料。如果專案已啟用 VPC Service Controls,您需要額外的權限。
必要的角色
您必須具備下列角色和權限:
- Analytics Hub 訂閱者 (
roles/analyticshub.subscriber) - BigQuery 管理員 (
roles/bigquery.admin)
分享 Data Cloud 中的資料
本文件說明如何將資料從 Data Cloud 共用至 BigQuery - BYOL 資料共用 - 與 BigQuery 整合,無須 ETL。
將 Data Cloud 資料集連結至 BigQuery
如要在 BigQuery 中存取 Data Cloud 資料集,您必須先按照下列步驟將資料集連結至 BigQuery:
前往 Google Cloud 控制台的「BigQuery」頁面。
按一下「Salesforce Data Cloud」
系統會顯示 Data Cloud 資料集。您可以使用下列命名模式,依名稱尋找資料集:
取代下列內容:listing_DATA_SHARE_NAME_TARGET_NAME
DATA_SHARE_NAME:Data Cloud 中資料共用項目的名稱。TARGET_NAME:Data Cloud 中 BigQuery 目標的名稱。
按一下要新增至 BigQuery 的資料集。
按一下「將資料集新增至專案」。
指定連結資料集的名稱。
建立連結資料集後,您可以探索資料集和其中的資料表。系統會動態從 Data Cloud 擷取所有表格的中繼資料。資料集內的所有物件都是對應至 Data Cloud 物件的檢視畫面。BigQuery 支援三種類型的 Data Cloud 物件:
- 資料湖泊物件 (DLO)
- 資料模型物件 (DMO)
- 計算洞察物件 (CIO)
所有這些物件都會在 BigQuery 中以檢視表的形式呈現。這些檢視會���向儲存在 Amazon S3 中的隱藏資料表。
使用 Data Cloud 資料
以下範例會使用名為 Northwest Trail Outfitters (NTO) 的資料集,該資料集由 Data Cloud 代管。這個資料集包含三個資料表,代表 NTO 機構的線上銷售資料:
linked_nto_john.nto_customers__dlllinked_nto_john.nto_products__dlllinked_nto_john.nto_orders__dll
這些範例中使用的其他資料集是離線銷售點資料。這份報表涵蓋離線銷售,並包含下列三個資料表:
nto_pos.customersnto_pos.productsnto_pos.orders
下列資料集會儲存其他物件:
aws_dataus_data
執行臨時查詢
您可以使用 BigQuery Omni 執行臨時查詢,透過訂閱的資料集分析 Data Cloud 資料。以下範例顯示從 Data Cloud 查詢 customers 資料表的簡易查詢。
SELECT name__c, age__c FROM `listing_nto_john.nto_customers__dll` WHERE age > 40 LIMIT 1000;
執行跨雲端查詢
跨雲查詢可讓您彙整 BigQuery Omni 區域和 BigQuery 區域中的任何資料表。如要進一步瞭解跨雲查詢,請參閱這篇網誌文章。在本例中,我們會擷取名為 john 的客戶的總銷售量。
-- Get combined sales for a customer from both offline and online sales USING ( SELECT total_price FROM `listing_nto_john.nto_orders__dll` WHERE customer_name = 'john' UNION ALL SELECT total_price FROM `listing_nto_john.nto_orders__dll` WHERE customer_name = 'john' ) a SELECT SUM(total_price);
透過 CTAS 進行跨雲端資料移轉
您可以使用「建立資料表做為選取」(CTAS) 功能,將 BigQuery Omni 區域的 Data Cloud 資料表資料移至 US 區域。
-- Move all the orders for March to the US region CREATE OR REPLACE TABLE us_data.online_orders_march AS SELECT * FROM listing_nto_john.nto_orders__dll WHERE EXTRACT(MONTH FROM order_time) = 3
目的地資料表是 US 地區的 BigQuery 代管資料表。這個資料表可與其他資料表彙整。這項作業會根據傳輸的資料量產生 AWS 輸出費用。
資料移至 online_orders_march 後,您就無須為在該資料表中執行的任何查詢支付輸出費用。
跨雲端具體化檢視表
跨雲端具體化檢視 (CCMV) 會逐步將資料從 BigQuery Omni 區域傳送至非 BigQuery Omni BigQuery 區域。設定新的 CCMV,將線上交易的總銷售額摘要資料傳輸,並將這些資料複製到 US 區域。
您可以透過廣告資料中心存取 CCMV,並與其他廣告資料中心資料彙整。在大部分情況下,CCMV 的運作方式與一般 BigQuery 代管資料表相同。
建立本機具體化檢視表
如要建立本機具體化檢視表,請按照下列步驟操作:
-- Create a local materialized view that keeps track of total sales by day CREATE MATERIALIZED VIEW `aws_data.total_sales` OPTIONS (enable_refresh = true, refresh_interval_minutes = 60) AS SELECT EXTRACT(DAY FROM order_time) AS date, SUM(order_total) as sales FROM `listing_nto_john.nto_orders__dll` GROUP BY 1;
授權具體化檢視表
您必須授權給物化檢視表,才能建立 CCMV。您可以授權檢視表 (aws_data.total_sales) 或資料集 (aws_data)。如要授權物化檢視表,請按照下列步驟操作:
前往 Google Cloud 控制台的「BigQuery」頁面。
開啟來源資料集
listing_nto_john。依序按一下「分享」和「授權資料集」。
輸入資料集名稱 (在本例中為
listing_nto_john),然後按一下「Ok」。
建立備用資源具體化檢視表
在 US 區域中建立新的備援 materialized view。只要來源資料有變更,物件化檢視畫面就會定期複製,以便保持備用資源的最新狀態。
-- Create a replica MV in the us region. CREATE MATERIALIZED VIEW `us_data.total_sales_replica` AS REPLICA OF `aws_data.total_sales`;
對備用資源具體化檢視表執行查詢
以下範例會對備援資料庫的物化檢視表執行查詢:
-- Find total sales for the current month for the dashboard SELECT EXTRACT(MONTH FROM CURRENT_DATE()) as month, SUM(sales) FROM us_data.total_sales_replica WHERE month = EXTRACT(MONTH FROM date) GROUP BY 1
搭配 INFORMATION_SCHEMA 使用 Data Cloud 資料
Data Cloud 資料集支援 BigQuery INFORMATION_SCHEMA 檢視。INFORMATION_SCHEMA 檢視畫面中的資料會定期從 Data Cloud 同步,因此可能已過���。TABLES 和 SCHEMATA 檢視畫面中的 SYNC_STATUS 欄會顯示上次完成同步處理的時間、任何導致 BigQuery 無法提供最新資料的錯誤,以及修正錯誤所需的任何步驟。
INFORMATION_SCHEMA 查詢不會反映初始同步處理前最近建立的資料集。
Data Cloud 資料集與其他已連結的資料集有相同的限制,例如只能在資料集範圍查詢的 INFORMATION_SCHEMA 中存取。
後續步驟
瞭解 BigQuery Omni。
瞭解跨雲端彙整。
瞭解物化檢視畫面。