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

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

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

כדי לעבוד עם נתונים ב-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. אפשר לצרף את הטבלה הזו לטבלאות אחרות. הפעולה הזו כרוכה בעלויות תעבורת נתונים יוצאת (egress) ב-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 בשאילתות ברמת מערך הנתונים.

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