在 BigQuery 中設定及使用實體解析
BigQuery 中的實體解析功能可讓您比對、去重複及擴增資料集中的記錄,不必移動基礎資料。身為使用者,您可以將 BigQuery 資料集連結至身分識別供應商 (例如 LiveRamp 或 TransUnion),並呼叫遠端函式來就地解析身分。身為身分識別提供者,您可以設定遠端函式端點,並在 Google Cloud Marketplace 發布實體解析服務。
為使用者設定實體解析
如要以一般使用者的身分解析實體,請在 BigQuery 中準備輸入和輸出資料集,授予身分識別提供者資料集存取權,並叫用他們的比對服務。如要進一步瞭解架構,請參閱「實體解析架構」。
事前準備
- 請聯絡識別資訊提供者。BigQuery 支援使用 LiveRamp 和 TransUnion 進行實體解析。
- 向身分識別提供者索取下列項目:
- 服務帳戶憑證
- 遠端函式簽章
- 在 Google Cloud 專案中建立下列資料集:
- 輸入資料集
- 輸出資料集
必要的角色
為確保身分識別提供者的服務帳戶具備必要權限,可讀取輸入資料集及寫入輸出資料集,請要求管理員將下列 IAM 角色授予身分識別提供者的服務帳戶:
- 輸入資料集的 BigQuery 資料檢視者 (
roles/bigquery.dataViewer) - 輸出資料集的「BigQuery 資料編輯者」 (
roles/bigquery.dataEditor)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
管理員或許也能透過自訂角色或其他預先定義的角色,授予身分提供者的服務帳戶必要權限。
使用身分識別提供者解析實體
建立資料集並授予必要角色後,即可設定資料表,並使用所選身分識別提供者執行比對作業。下表摘要列出各個支援的識別資訊提供者適用的整合方法和必要資料表:
| 識別資訊提供者 | 整合方法 | 資料集中的必要資料表 | 工作叫用 |
|---|---|---|---|
| LiveRamp | LiveRamp 內嵌式 ID | 輸入資料表 (含 RampID)、中繼資料表 | 傳送電子郵件給 LiveRamp 支援團隊 |
| TransUnion | 透過 BigQuery 外部連結使用 TruAudience 遠端函式 | 包含實體屬性、中繼資料表、工作狀態表和比對輸出資料表的輸入資料表 | 使用 CALL 呼叫 SQL 預存程序 |
選取身分識別提供者,即可查看特定設定和工作執行操作說明:
LiveRamp
LiveRamp 必備條件
在 BigQuery 中設定 LiveRamp 實體解析功能前,請先完成下列必要條件:
- 在 BigQuery 中設定 LiveRamp 嵌入式 ID。詳情請參閱「在 BigQuery 中啟用 LiveRamp 嵌入式 ID」。
- 與 LiveRamp 協調,啟用適用於 Embedded Identity 的 API 憑證。詳情請參閱「驗證」。
設定 LiveRamp 實體解析
首次使用 LiveRamp 嵌入式 ID 時,請完成下列設定步驟。後續執行時,您只需要更新輸入資料表和中繼資料表。
建立 LiveRamp 輸入資料表
在輸入資料集中建立資料表,並填入下列資料欄:
- RampIDs
- 目標網域
- 目標類型
如要進一步瞭解輸入資料表結構定義,請參閱「輸入資料表資料欄和說明」。
建立 LiveRamp 中繼資料表
如要在 BigQuery 中控管 LiveRamp Embedded Identity 的執行作業,請在輸入資料集中建立中繼資料表。在「中繼資料」表格中填入下列設定欄:
- 用戶端 ID
- 執行模式
- 目標網域
- 目標類型
如要進一步瞭解中繼資料表結構定義,請參閱「中繼資料表資料欄和說明」。
授予 LiveRamp 資料集存取權
建立必要資料表後,請授予 LiveRamp 權限,允許對方查看及處理輸入資料集中的資料。將資料集存取權授予 LiveRamp Google Cloud 服務帳戶。如要進一步瞭解如何共用資料集,請參閱「與 LiveRamp 共用表格和資料集」。
執行 LiveRamp 實體解析工作
設定資料表並授予資料集存取權後,請在 BigQuery 中使用 LiveRamp 執行實體解析工作:
- 在輸入表格中,確認網域的所有 RampID 都存在。
- 執行工作前,請確認中繼資料表設定正確無誤。
- 如要提交工作處理要求,請傳送電子郵件至 LiveRampIdentitySupport@liveramp.com。在要求中,請提供輸入資料表、中繼資料表和輸出資料集的專案 ID、資料集 ID,以及任何適用的資料表 ID。
LiveRamp 通常會在三個工作天內,將比對結果傳送至輸出資料集。
取得 LiveRamp 支援和帳單資訊
LiveRamp 會管理 BigQuery 內嵌式身分的技術支援和帳單:
- 技術支援:如需設定或執行作業方面的協助,請與 LiveRamp Identity 支援團隊聯絡。
- 帳單: LiveRamp 會直接向您收取實體解析的使用費用。
TransUnion
TransUnion 必要條件
在 BigQuery 中設定 TransUnion 實體解析功能前,請先傳送電子郵件給 TransUnion Cloud 支援團隊,簽署服務存取協議。請在要求中提供下列資訊:
- 您的 Google Cloud 專案 ID
- 輸入資料類型
- 預定用途
- 預估資料量
TransUnion Cloud Support 核准要求後,會為您的 Google Cloud 專案啟用這項服務,並提供實作指南,其中包含可用的輸出結構定義。
設定 TransUnion 實體解析
首次在 BigQuery 中使用 TransUnion TruAudience Identity Resolution and Enrichment 服務時,請完成下列設定步驟。
建立外部連線
如要將 Google Cloud 帳戶連結至 TransUnion 帳戶中代管的身分識別解析服務,請 Google Cloud 建立 Cloud 資源連結。設定連線時,請選取「Vertex AI 遠端模型、遠端函式和 BigLake (Cloud 資源)」做為連線類型。
建立連線後,請複製連線 ID 和服務帳戶 ID,然後將這些 ID 提供給 TransUnion 客戶交付團隊。
建立遠端函式
如要將結構定義對應和設定中繼資料傳遞至 TransUnion 服務協調器端點,請建立遠端函式。建立遠端函式時,請指定外部連線的連線 ID,以及 TransUnion 客戶交付團隊與您共用的 Cloud Run 函式端點 URL。
建立 TransUnion 輸入資料表
在輸入資料集中建立輸入資料表。TransUnion 支援下列實體屬性做為輸入欄:
- 名稱
- 郵遞地址
- 電子郵件地址
- 電話號碼
- 出生日期
- IPv4 位址
- 裝置 ID
請按照 TransUnion 提供給您的導入指南,遵循結構定義和格式規範。如果將每個輸入表格對應至中繼資料表格中的不同 config_id 參數,即可使用多個輸入表格。
建立 TransUnion 中繼資料表
如要儲存身分解析服務所需的結構定義對應和設定,請在輸入資料集中建立中繼資料表。如要進一步瞭解中繼資料結構定義,請參閱 TransUnion 提供給您的導入指南。
建立工作狀態表
如要接收批次處理更新,請在資料集中建立工作狀態表。如要監控工作並觸發管道中的下游程序,請查詢這份工作狀態表。表格會記錄下列狀態:
RUNNING:身分解析服務正在處理批次。COMPLETED:服務已完成批次處理,並將結果寫入輸出資料表。ERROR:服務在處理批次時發生錯誤。
建立服務叫用程序
TransUnion_get_identities 預存程序會封裝設定中繼資料,並叫用 TransUnion Cloud Run 函式端點。如要建立這個預存程序,請執行下列 SQL 陳述式:
-- create service invocation procedure
CREATE OR REPLACE
PROCEDURE
`PROJECT_ID.DATASET_ID.TransUnion_get_identities`(metadata_table STRING, config_id STRING)
begin
declare sql_query STRING;
declare json_result STRING;
declare base64_result STRING;
SET sql_query =
'''select to_json_string(array_agg(struct(config_id,key,value))) from `''' || metadata_table
|| '''` where config_id="''' || config_id || '''" ''';
EXECUTE immediate sql_query INTO json_result;
SET base64_result = (SELECT to_base64(CAST(json_result AS bytes)));
SELECT
`PROJECT_ID.DATASET_ID.remote_call_TransUnion_er`(
base64_result);
END;
更改下列內容:
PROJECT_ID:您的 Google Cloud 專案 ID。DATASET_ID:您要在其中建立程序和遠端函式的資料集 ID。
建立相符的輸出資料表
相符輸出資料表會儲存 TransUnion 的實體解析結果,包括相符旗標、連結分數、永久個人 ID 和家庭 ID。如要建立相符的輸出資料表,請執行下列 SQL 陳述式:
-- create output table
CREATE TABLE `PROJECT_ID.DATASET_ID.TransUnion_identity_output`(
batchid STRING,
uniqueid STRING,
ekey STRING,
hhid STRING,
collaborationid STRING,
firstnamematch STRING,
lastnamematch STRING,
addressmatches STRING,
addresslinkagescores STRING,
phonematches STRING,
phonelinkagescores STRING,
emailmatches STRING,
emaillinkagescores STRING,
dobmatches STRING,
doblinkagescore STRING,
ipmatches STRING,
iplinkagescore STRING,
devicematches STRING,
devicelinkagescore STRING,
lastprocessed STRING);
更改下列內容:
PROJECT_ID:您的 Google Cloud 專案 ID。DATASET_ID:您要在其中建立相符輸出資料表的資料集 ID。
設定結構定義對應中繼資料
如要將輸入結構定義對應至 TransUnion 應用程式結構定義,請按照 TransUnion 提供給您的實作指南操作。這項中繼資料也會設定服務產生協作 ID 的方式。協作 ID 是可共用的非持續性 ID,可用於資料無塵室。
授予 TransUnion 資料集存取權
建立必要資料表和預存程序後,請授予 TransUnion 讀取輸入資料和寫入比對結果的權限。向 TransUnion 客戶交付團隊取得 Apache Spark 連線服務帳戶 ID。然後,在包含輸入和輸出資料表的資料集上,將 BigQuery 資料編輯者角色 (roles/bigquery.dataEditor) 授予該服務帳戶。
執行 TransUnion 實體解析工作
設定資料表並授予資料集存取權後,即可開始執行實體解析批次作業。如要叫用實體解析服務,請呼叫 TransUnion_get_identities 預存程序:
CALL `PROJECT_ID.DATASET_ID.TransUnion_get_identities`(
"PROJECT_ID.DATASET_ID.TransUnion_er_metadata",
"CONFIG_ID");
更改下列內容:
PROJECT_ID:您的 Google Cloud 專案 ID。DATASET_ID:包含中繼資料表和預存程序的資料集 ID。CONFIG_ID:批次執行的設定 ID,例如"1"。
取得 TransUnion 支援和帳單資訊
如需有關 BigQuery 中 TruAudience 身分解析和擴充功能的技術問題或帳單查詢,請直接與 TransUnion 聯絡:
- 技術支援:如需設定、結構定義對應或疑難排解方面的協助,請與 TransUnion Cloud 支援團隊聯絡。
- 帳單:TransUnion 會追蹤服務用量,以利計費。如要瞭解帳戶和定價詳細資料,請與 TransUnion 交付代表聯絡。
設定識別資訊提供者的實體解析
身為身分識別提供者,您可以為 BigQuery 使用者提供實體解析服務。這種架構不會公開專屬身分圖表或比對邏輯,因此有助於保護智慧財產。
如要設定服務,請部署協調器端點、建立 BigQuery 遠端函式、授予必要角色,並與使用者分享遠端函式簽章。如要進一步瞭解架構,請參閱「實體解析架構」。
事前準備
在 BigQuery 中設定實體解析服務前,請確認您具備下列項目:
- 部署在Google Cloud 專案或外部資料庫中的身分識別圖譜資料集和比對邏輯。
- 使用者主體 ID,例如從使用者取得的使用者、服務帳戶或 Google 群組電子郵件地址。
必要的角色
為確保身分提供者的服務帳戶具備執行實體解析作業的必要權限,請要求管理員將下列 IAM 角色授予身分提供者的服務帳戶:
-
如要讓與函式相關聯的服務帳戶讀取及寫入相關聯的資料集,並啟動工作:
- 專案的「BigQuery 資料編輯者」 (
roles/bigquery.dataEditor) - 專案的 BigQuery 工作使用者 (
roles/bigquery.jobUser)
- 專案的「BigQuery 資料編輯者」 (
-
如要讓使用者主體查看及連線至遠端函式,請按照下列步驟操作:
- 連線的「BigQuery 連線使用者」 (
roles/bigquery.connectionUser) - BigQuery 資料檢視者 (
roles/bigquery.dataViewer) 在控制層資料集上使用遠端函式
- 連線的「BigQuery 連線使用者」 (
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
管理員或許也能透過自訂角色或其他預先定義的角色,授予身分提供者的服務帳戶必要權限。
設定遠端函式端點
如要處理來自使用者的實體解析要求,請部署協調器端點,並將其連線至 BigQuery 遠端函式:
- 如要處理遠端函式的相符要求,請建立 Cloud Run 工作或 Cloud Run 函式。您可以為端點使用任一選項。
如要找出與 Cloud Run 作業或 Cloud Run 函式相關聯的服務帳戶電子郵件地址,請完成下列步驟:
前往 Google Cloud 控制台的「Cloud Functions」頁面。
如要開啟函式詳細資料,請點選函式名稱,然後按一下「詳細資料」分頁標籤。
在「General Information」(一般資訊) 窗格中,找出並記錄遠端函式的服務帳戶電子郵件地址。
在控制層資料集中,建立遠端函式,連線至 Cloud Run 工作或 Cloud Run 函式端點。
共用實體解析遠端函式
建立遠端函式並授予必要角色給使用者後,請與他們分享下列遠端函式簽章。使用者會呼叫這個遠端函式,啟動實體解析工作。
`PARTNER_PROJECT_ID.DATASET_ID.match`(LIST_OF_PARAMETERS)
更改下列內容:
PARTNER_PROJECT_ID:身分識別提供者的 Google Cloud 專案 ID。DATASET_ID:包含遠端函式的資料集 ID。LIST_OF_PARAMETERS:要傳遞至遠端函式的參數清單。
選用:提供實體解析工作的中繼資料
如要向使用者提供工作的中繼資料,您可以公開個別的遠端函式,或將工作狀態表寫入使用者的輸出資料集。舉例來說,您可以回報 RUNNING、COMPLETED 或 ERROR 等執行狀態,以及處理指標。
與 Cloud Marketplace 整合以進行結帳
如要透過 Google 管理客戶帳單和新手上路流程,請將實體解析服務與 Cloud Marketplace 整合。這項整合功能可讓您根據實體解析作業的使用量,設定定價模式,而 Google 會處理服務的帳單。詳情請參閱「提供軟體即服務 (SaaS) 產品」。
後續步驟
- 瞭解 BigQuery sharing 中的實體解析。
- 瞭解如何建立遠端函式。
- 瞭解如何建立 Cloud 資源連線。
- 身分識別供應商可以參閱這篇文章,瞭解如何透過 Google Cloud Marketplace 提供實體解析服務。