עבודה עם נתוני Salesforce Data 360 ב-BigQuery

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

המסמך הזה מיועד למשתמשי Data 360 שרוצים להשתמש ב-BigQuery כדי לבצע ניתוח מעמיק של הנתונים שלהם ב-Data 360, או לשלב אותם עם נתונים ב- Google Cloud לצורך ניתוח חוצה-עננים (cross-cloud) – בלי ליצור ולתחזק צינורות עיבוד נתונים של חילוץ, טרנספורמציה וטעינה (ETL).

לפני שמתחילים

כדי לעבוד עם נתונים ב-Data 360, אתם צריכים להיות משתמשים ב-Data 360. אם הפעלתם את VPC Service Controls בפרויקט, תצטרכו הרשאות נוספות.

התפקידים הנדרשים

אלה התפקידים וההרשאות שנדרשים:

  • מנוי ב-Analytics Hub‏ (roles/analyticshub.subscriber)
  • אדמין ב-BigQuery‏ (roles/bigquery.admin)

שיתוף נתונים מ-Data 360

במאמר הזה מוסבר איך לשתף נתונים מ-Data 360 ל-BigQuery – שיתופי נתונים של BYOL – שילוב Zero-ETL עם BigQuery.

כדי לגשת למערך נתונים של Data 360 ב-BigQuery, צריך קודם לקשר את מערך הנתונים ל-BigQuery לפי השלבים הבאים:

  1. נכנסים לדף BigQuery במסוף Google Cloud .

    כניסה ל-BigQuery

  2. לוחצים על Salesforce Data Cloud.

    מוצגות קבוצות הנתונים של Data 360. כדי למצוא את מערך הנתונים לפי שם, משתמשים בתבנית השמות הבאה:

    listing_DATA_SHARE_NAME_TARGET_NAME
    
    מחליפים את הערכים בשדות הבאים:

    • ‫DATA_SHARE_NAME: השם של שיתוף הנתונים ב-Data 360.
    • ‫TARGET_NAME: השם של יעד BigQuery ב-Data 360.
  3. לוחצים על מערך הנתונים שרוצים להוסיף ל-BigQuery.

  4. לוחצים על Add dataset to project.

  5. מציינים את השם של מערך הנתונים המקושר.

אחרי שיוצרים את מערך הנתונים המקושר, אפשר לחקור אותו ואת הטבלאות שבו. כל המטא-נתונים של הטבלאות מאוחזרים מ-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__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 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. אפשר לצרף את הטבלה הזו לטבלאות אחרות. הפעולה הזו כרוכה בעלויות תעבורת נתונים יוצאת ב-AWS, בהתאם לכמות הנתונים שמועברים.

אחרי שהנתונים יועברו, לא תצטרכו יותר לשלם עמלות על תעבורת נתונים יוצאת על שאילתות שפועלות בטבלה online_orders_march.

תצוגות מהותיות ב-BigQuery Omni

תצוגות מהותיות של BigQuery Omni‏ (CCMV) מעבירות נתונים באופן מצטבר מאזור של BigQuery Omni לאזור של BigQuery שהוא לא של BigQuery Omni. מגדירים CCMV חדש שמעביר סיכום של סך המכירות מעסקאות אונליין ומשכפל את הנתונים האלה לאזור US.

אתם יכולים לגשת ל-CCMV מ-Ads Data Hub ולצרף אותם לנתונים אחרים ב-Ads Data Hub. ברוב המקרים, CCMVs פועלות כמו טבלאות מנוהלות רגילות ב-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). כדי לתת הרשאה לתצוגה המהותית:

  1. נכנסים לדף BigQuery במסוף Google Cloud .

    כניסה ל-BigQuery

  2. פותחים את קבוצת הנתונים של המקור listing_nto_john.

  3. לוחצים על Sharing ואז על Authorize Datasets.

  4. מזינים את שם מערך הנתונים (במקרה הזה listing_nto_john) ולוחצים על Ok.

יצירת תצוגה מהותית של רפליקה

יוצרים תצוגה מהותית חדשה של רפליקה באזור 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 תומכים בתצוגות INFORMATION_SCHEMA של BigQuery. הנתונים בתצוגות INFORMATION_SCHEMA מסונכרנים באופן קבוע מ-Data 360, ויכול להיות שהם לא עדכניים. בעמודה SYNC_STATUS בתצוגות TABLES ו-SCHEMATA מוצגים הזמן של הסנכרון האחרון שהושלם, שגיאות שמונעות מ-BigQuery לספק נתונים עדכניים והשלבים שנדרשים כדי לתקן את השגיאה.

שאילתות INFORMATION_SCHEMA לא משקפות קבוצות נתונים שנוצרו לאחרונה לפני הסנכרון הראשוני.

על מערכי נתונים של Data 360 חלות אותן מגבלות שחלות על מערכי נתונים מקושרים אחרים. למשל, אפשר לגשת אליהם רק ב-INFORMATION_SCHEMA בשאילתות ברמת מערך הנתונים.

המאמרים הבאים