在 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__dll
linked_nto_john.nto_products__dll
linked_nto_john.nto_orders__dll
這些範例中使用的其他資料集是離線銷售點資料。這份報表涵蓋離線銷售,並包含下列三個資料表:
nto_pos.customers
nto_pos.products
nto_pos.orders
下列資料集會儲存其他物件:
aws_data
us_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。
瞭解跨雲端彙整。
瞭解物化檢視畫面。