עבודה עם נתונים של Salesforce Data Cloud ב-BigQuery
במאמר הזה מוסבר איך לגשת לנתונים של Salesforce Data Cloud ולנתח אותם ב-BigQuery באמצעות BigQuery Omni. במאמר הזה מוסבר איך לקשר את מערכי הנתונים של Data Cloud ב-BigQuery כדי להריץ שאילתות, לצרף נתונים לטבלאות ב- Google Cloudולשכפל נתונים באמצעות תצוגות חומריות של BigQuery Omni.
המאמר הזה מיועד למשתמשי Data Cloud שרוצים להשתמש ב-BigQuery כדי לבצע ניתוח מעמיק של הנתונים ב-Data Cloud, או לשלב אותם עם נתונים ב- Google Cloud לצורך ניתוח חוצה-עננים – והכול בלי ליצור ולתחזק צינורות של חילוץ, טרנספורמציה וטעינה (ETL).
לפני שמתחילים
כדי לעבוד עם נתונים ב-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 באמצעות השלבים הבאים:
במסוף Google Cloud , עוברים לדף BigQuery.
לוחצים על 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 Omni מאפשרות לכם לצרף כל אחת מהטבלאות באזור BigQuery Omni וטבלאות באזורי BigQuery. מידע נוסף על שאילתות BigQuery Omni זמין בפוסט הזה בבלוג.
בדוגמה הזו, אנחנו מאחזרים את סך המכירות של לקוח בשם 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);
העברת נתונים ב-BigQuery Omni באמצעות 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.
תצוגות מהותיות ב-BigQuery Omni
תצוגות חומריות של BigQuery Omni (CCMV) מעבירות נתונים מאזור BigQuery Omni לאזור BigQuery שאינו BigQuery Omni באופן מצטבר.
מגדירים העברה חדשה של נתונים בין אזורים גיאוגרפיים (CCMV) שמעבירה סיכום של סך המכירות מעסקאות אונליין, ומשכפלת את הנתונים האלה לאזור US.
אפשר לגשת לנתוני CCMV מ-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). כדי לתת הרשאה לתצוגה החומרית:
במסוף Google Cloud , עוברים לדף BigQuery.
פותחים את מערך הנתונים של המקור
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 תומכים בתצוגות של BigQuery
INFORMATION_SCHEMA. הנתונים בתצוגות INFORMATION_SCHEMA מסונכרנים באופן קבוע מ-Data Cloud, ויכול להיות שהם לא עדכניים. בעמודה SYNC_STATUS בתצוגות TABLES ו-SCHEMATA מוצגות השעה האחרונה שבה הסתיים הסנכרון, שגיאות שמונעות מ-BigQuery לספק נתונים עדכניים ושלבים שנדרשים לתיקון השגיאה.
שאילתות INFORMATION_SCHEMA לא משקפות מערכי נתונים שנוצרו לאחרונה לפני הסנכרון הראשוני.
מערכי נתונים ב-Data Cloud כפופים לאותן מגבלות כמו מערכי נתונים מקושרים אחרים, כמו האפשרות לגשת אליהם רק ב-INFORMATION_SCHEMA בשאילתות בהיקף מערך הנתונים.