עבודה עם נתונים של Salesforce Data Cloud ב-BigQuery
משתמשי Data Cloud יכולים לגשת לנתונים שלהם ב-Data Cloud באופן מקורי ב-BigQuery. אפשר לנתח נתונים מ-Data Cloud באמצעות BigQuery Omni ולבצע ניתוח חוצה-ענן עם הנתונים ב- Google Cloud. במאמר הזה אנחנו מספקים הוראות לגישה לנתוני Data Cloud וכמה משימות ניתוח שאפשר לבצע עם הנתונים האלה ב-BigQuery.
Data Cloud פועל עם BigQuery על סמך הארכיטקטורה הבאה:

לפני שמתחילים
כדי לעבוד עם נתונים ב-Data Cloud, אתם צריכים להיות משתמשים ב-Data Cloud. אם הפעלתם את VPC Service Controls בפרויקט, תצטרכו הרשאות נוספות.
התפקידים הנדרשים
נדרשים התפקידים וההרשאות הבאים:
- מנוי ל-Analytics Hub (
roles/analyticshub.subscriber) - אדמין של BigQuery (
roles/bigquery.admin)
Share Data From Data Cloud
במסמך הזה מוסבר איך לשתף נתונים מ-Data Cloud עם BigQuery – שיתופי נתונים בשיטת BYOL – שילוב ללא ETL עם BigQuery.
קישור מערך נתונים ב-Data Cloud ל-BigQuery
כדי לגשת למערך נתונים של Data Cloud ב-BigQuery, צריך קודם לקשר את מערך הנתונים ל-BigQuery באמצעות השלבים הבאים:
נכנסים לדף BigQuery במסוף Google Cloud .
לוחצים על Salesforce Data Cloud.
מוצגים מערכי הנתונים של Data Cloud. אפשר למצוא את מערך הנתונים לפי השם באמצעות תבנית השמות הבאה:
מחליפים את מה שכתוב בשדות הבאים:listing_DATA_SHARE_NAME_TARGET_NAME
-
DATA_SHARE_NAME: השם של שיתוף הנתונים ב-Data Cloud. -
TARGET_NAME: השם של יעד BigQuery ב-Data Cloud.
-
לוחצים על מערך הנתונים שרוצים להוסיף ל-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
מערך הנתונים השני שמשמש בדוגמאות האלה הוא נתונים אופליין של נקודות מכירה (POS). הדוח הזה כולל את המכירות אופליין ומורכב משלוש טבלאות:
nto_pos.customersnto_pos.productsnto_pos.orders
במערכי הנתונים הבאים מאוחסנים אובייקטים נוספים:
aws_dataus_data
הרצת שאילתות אד-הוק
באמצעות BigQuery Omni, אתם יכולים להריץ שאילתות אד-הוק כדי לנתח את הנתונים ב-Data Cloud דרך מערך הנתונים שאליו נרשמתם. בדוגמה הבאה מוצגת שאילתה פשוטה ששולפת נתונים מהטבלה customers ב-Data Cloud.
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
אפשר להשתמש בפקודה Create Table As Select (CTAS) כדי להעביר נתונים מטבלאות של Data Cloud באזור BigQuery Omni אל אזור 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
טבלת היעד היא טבלה מנוהלת ב-BigQuery באזור US. אפשר לצרף את הטבלה הזו לטבלאות אחרות. הפעולה הזו כרוכה בעלויות תעבורת נתונים יוצאת (egress) ב-AWS, בהתאם לכמות הנתונים שמועברת.
אחרי שהנתונים יועברו, לא תצטרכו יותר לשלם עמלות על יציאת נתונים עבור שאילתות שיופעלו בטבלה online_orders_march.
תצוגות מהותיות בענן
תצוגות חומריות חוצות ענן (CCMV) מעבירות נתונים מאזור BigQuery Omni לאזור BigQuery שאינו BigQuery Omni באופן מצטבר.
מגדירים כלל חדש של המרת מטבעות שמעביר סיכום של סך המכירות מטרנזקציות אונליין, ומשכפלים את הנתונים האלה לאזור US.
אפשר לגשת לנתוני המרות משוקללות מ-Ads Data Hub ולצרף אותם לנתונים אחרים מ-Ads Data Hub. ברוב המקרים, תצוגות 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). כדי לתת הרשאה לתצוגה החומרית:
נכנסים לדף BigQuery במסוף Google Cloud .
פותחים את מערך הנתונים של המקור
listing_nto_john.לוחצים על שיתוף ואז על הרשאת מערכי נתונים.
מזינים את שם מערך הנתונים (במקרה הזה
listing_nto_john) ולוחצים על אישור.
יצירת רפליקת תצוגה מהותית
יוצרים רפליקה של תצוגה מהותית חדשה באזור US. התצוגה החומרית משוכפלת מעת לעת בכל פעם שיש שינוי בנתוני המקור, כדי שהעותק יהיה עדכני.
-- 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
שימוש בנתונים מ-Data Cloud עם INFORMATION_SCHEMA
מערכי נתונים ב-Data Cloud תומכים בתצוגות של BigQueryINFORMATION_SCHEMA. הנתונים בתצוגות INFORMATION_SCHEMA מסונכרנים באופן קבוע מ-Data Cloud, ויכול להיות שהם לא עדכניים. בעמודה SYNC_STATUS בתצוגות TABLES ו-SCHEMATA מוצג הזמן של הסנכרון האחרון שהושלם, שגיאות שמונעות מ-BigQuery לספק נתונים עדכניים ושלבים שנדרשים לתיקון השגיאה.
שאילתות INFORMATION_SCHEMA לא משקפות מערכי נתונים שנוצרו לאחרונה לפני הסנכרון הראשוני.
מערכי נתונים ב-Data Cloud כפופים לאותן מגבלות כמו מערכי נתונים מקושרים אחרים, כמו גישה רק ב-INFORMATION_SCHEMA בשאילתות בהיקף מערך הנתונים.