עבודה עם נתוני Salesforce Data 360 ב-BigQuery
במאמר הזה מוסבר איך לגשת לנתוני Salesforce Data 360 ולנתח אותם ב-BigQuery באמצעות BigQuery Omni. במאמר מוסבר איך לקשר בין מערכי הנתונים של Data 360 ב-BigQuery כדי להריץ שאילתות, לצרף נתונים לטבלאות ב- Google Cloudולשכפל נתונים באמצעות תצוגות חומריות של BigQuery Omni.
המאמר הזה מיועד למשתמשי Data 360 שרוצים להשתמש ב-BigQuery כדי לבצע ניתוח מעמיק של הנתונים שלהם ב-Data 360, או לשלב אותם עם נתונים ב- Google Cloud לצורך ניתוח חוצה-עננים – והכול בלי ליצור ולתחזק צינורות של חילוץ, טרנספורמציה וטעינה (ETL).
לפני שמתחילים
כדי לעבוד עם נתונים מ-Data 360, אתם צריכים להיות משתמשי Data 360. אם הפעלתם את VPC Service Controls בפרויקט, תצטרכו הרשאות נוספות.
התפקידים הנדרשים
נדרשים התפקידים וההרשאות הבאים:
- מנוי ל-Analytics Hub (
roles/analyticshub.subscriber) - אדמין של BigQuery (
roles/bigquery.admin)
שיתוף נתונים מ-Data 360
במסמך הזה מוסבר איך לשתף נתונים מ-Data 360 עם BigQuery – שיתופי נתונים בשיטת BYOL – שילוב ללא ETL עם BigQuery.
קישור מערך נתונים של Data 360 ל-BigQuery
כדי לגשת למערך נתונים של Data 360 ב-BigQuery, צריך קודם לקשר את מערך הנתונים ל-BigQuery באמצעות השלבים הבאים:
במסוף Google Cloud , עוברים לדף BigQuery.
לוחצים על Salesforce Data Cloud.
יוצגו קבוצות נתונים של Data 360. אפשר למצוא את מערך הנתונים לפי שם באמצעות תבנית השמות הבאה:
מחליפים את מה שכתוב בשדות הבאים:listing_DATA_SHARE_NAME_TARGET_NAME
-
DATA_SHARE_NAME: השם של שיתוף הנתונים ב-Data 360. -
TARGET_NAME: השם של יעד BigQuery ב-Data 360.
-
לוחצים על מערך הנתונים שרוצים להוסיף ל-BigQuery.
לוחצים על הוספת מערך נתונים לפרויקט.
מציינים את השם של מערך הנתונים המקושר.
אחרי שיוצרים את מערך הנתונים המקושר, אפשר לעיין בו ובטבלאות שבו. כל המטא-נתונים של הטבלאות מאוחזרים מ-Data 360 באופן דינמי. כל האובייקטים בתוך מערך הנתונים הם תצוגות שממופות לאובייקטים של Data 360. BigQuery תומך בשלושה סוגים של אובייקטים של Data 360:
- אובייקטים של אגם נתונים (DLO)
- אובייקטים של מודל נתונים (DMO)
- אובייקטים של תובנות מחושבות (CIO)
כל האובייקטים האלה מיוצגים כתצוגות ב-BigQuery. התצוגות האלה מפנות לטבלאות מוסתרות שמאוחסנות ב-Amazon S3.
עבודה עם נתונים ב-Data 360
בדוגמאות הבאות נעשה שימוש במערך נתונים בשם Northwest Trail Outfitters (NTO) שמתארח ב-Data 360. קבוצת הנתונים הזו מורכבת משלוש טבלאות שמייצגות את נתוני המכירות אונליין של ארגון 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 360 דרך מערך הנתונים שאליו נרשמתם. בדוגמה הבאה מוצגת שאילתה פשוטה ששולפת נתונים מטבלת הלקוחות מ-Data 360.
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 360 באזור 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. ברוב המקרים, תצוגות חומרי ביניים מצטברות מתנהגות כמו טבלאות מנוהלות רגילות ב-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 360 עם INFORMATION_SCHEMA
מערכי נתונים ב-Data 360 תומכים בתצוגות של BigQuery
INFORMATION_SCHEMA. הנתונים בתצוגות המפורטות של INFORMATION_SCHEMA מסונכרנים באופן קבוע מ-Data 360, ויכול להיות שהם מיושנים. בעמודה SYNC_STATUS בתצוגות TABLES ו-SCHEMATA מוצגות השעה של הסנכרון האחרון שהושלם, שגיאות שמונעות מ-BigQuery לספק נתונים עדכניים ושלבים שנדרשים לתיקון השגיאה.
שאילתות INFORMATION_SCHEMA לא משקפות מערכי נתונים שנוצרו לאחרונה לפני הסנכרון הראשוני.
מערכי נתונים של Data 360 כפופים לאותן מגבלות כמו מערכי נתונים מקושרים אחרים, כמו גישה רק ב-INFORMATION_SCHEMA בשאילתות בהיקף מערך הנתונים.