Looker Blocks הם מודלים מוכנים מראש של נתונים לדפוסי ניתוח נפוצים ולמקורות נתונים. בדף הזה מוסבר איך מפתחים יכולים להתאים אישית Looker Blocks שמותקנים מ-Looker Marketplace. Looker Marketplace הוא מקום מרכזי שבו אפשר למצוא, לפרוס ולנהל סוגים רבים של תוכן Looker, כמו אפליקציות, תצוגות חזותיות ותוספים.
מידע נוסף על כל ה-Looker Blocks הזמינים ועל שיטות חלופיות להתאמה אישית של בלוקים זמין בדף התיעוד בנושא Looker Blocks.
דרישות להתקנה ולניהול של בלוקים של Looker מ-Looker Marketplace
לפני שמתקינים ומשתמשים בחלק מהבלוקים מ-Looker Marketplace, חשוב לשים לב לדרישות הבאות:
- אם אתם מתקינים את הבלוק דרך Looker Marketplace, האדמין שלכם ב-Looker צריך להפעיל את התכונה Marketplace.
- למשתמשים צריכות להיות ההרשאות
develop,manage_modelsו-deployכדי להתקין חבילות מ-Marketplace ולנהל אותן. אם הבלוק הספציפי מכיל פרמטר
local_dependency, הבלוק משתמש בתהליך הייבוא של הפרויקט המקומי. פרטים על ייבוא פרויקטים מופיעים בדף התיעוד בנושא ייבוא קבצים מפרויקטים אחרים. הבלוקים הבאים מכילים פרמטרlocal_dependency:- ניתוח נתונים של שיווק דיגיטלי
- ניתוח נתוני מכירות
- ניתוח התנהגות המבקרים באתר
במאמר בנושא Looker Marketplace מוסבר איך להתקין ולנהל Looker Blocks מ-Looker Marketplace.
גישה ל-LookML של בלוק מ-Marketplace
בלוקים שמבוססים על פרויקטים שמשתמשים בשיפורים מותקנים מ-Marketplace כפרויקט CONFIG יחיד שניתן לעריכה, שמייבא מרחוק את פרויקט CORE, שמכיל את כל קוד LookML ואת הפרמטרים הקבועים.
אחרי התקנה של בלוק מ-Marketplace, אפשר לגשת לפרויקט שלו מהתפריט Develop בלחיצה על שם הפרויקט ברשימת הפרויקטים. בדרך כלל, השם של בלוק לשיפורים ב-Marketplace מתחיל ב-marketplace_ ואחריו מזהה כרטיס המוצר.
למרות שאי אפשר לשנות ישירות פרויקט CORE של בלוק שהוא לקריאה בלבד, אפשר להשתמש ב-LookML שמוגדר בקובצי ה-CORE של הבלוק שהם לקריאה בלבד כהפניה כשמבצעים התאמה אישית של קובצי ה-CONFIG של הבלוק. כדי לראות את קובצי ה-CORE של הבלוק, עוברים לקובצי הפרויקט של הבלוק בסביבת הפיתוח המשולבת ומרחיבים את הספרייה imported_projects בדפדפן הקבצים של סביבת הפיתוח המשולבת.

חסימה של מבנה הקובץ
כשמתקינים בלוק שנועד לשיפורים, הקבצים האלה נוצרים אוטומטית כחלק מהקטע CONFIG של פרויקט הבלוק:
| שם קובץ | גישה | תפקיד |
|---|---|---|
<model_name>.model.lkml |
קריאה בלבד לכל המשתמשים | קובץ מודל וירטואלישקשור להתקנת הבלוק ומטפל בייבוא של מודלים מפרויקט ה-CORE של הבלוק. כשמסירים או מעדכנים בלוק, קובץ המודל או קבצי המודל שמשויכים אליו נמחקים, כדי למנוע התנגשויות בין מודלים בכמה התקנות של בלוקים. |
manifest.lkml |
ניתן לעריכה על ידי משתמשים עם הרשאות develop |
מתאר את הפרויקט ואת יחסי התלות החיצוניים שלו. מכיל את מזהה כרטיס המוצר ב-Marketplace של התקנת הבלוק, ומאפשר ייבוא מרחוק של קובצי הליבה של הפרויקט של הבלוק באמצעות מילת המפתח marketplace. |
marketplace_lock.lkml |
קריאה בלבד לכל המשתמשים | מכיל הפניה למילת המפתח marketplace_ref מקובץ המניפסט שמטפל בייבוא מרחוק של פרויקט CORE. מספק את פרטי הרישום, הגרסה והדגם הספציפיים שמשויכים להתקנה. כולל מידע על קבועים שמוגדרים במהלך ההתקנה (ואפשר לעדכן אותם באמצעות האפשרות ניהול בממשק המשתמש של Marketplace). |
refinements.lkml |
ניתן לעריכה על ידי משתמשים עם הרשאות develop |
מאפשר למפתחים לשפר את התצוגות והניתוחים שהוגדרו בקובצי הפרויקט המיובאים של CORE. |
התאמה אישית של בלוק ב-Marketplace
מפעילים את מצב פיתוח כדי לבצע התאמות אישיות בקבצים שניתנים לעריכה של הבלוק.
אם יש לכם הרשאות develop, אתם יכולים להתאים אישית את קוד ה-LookML בקובץ refinements.lkml של פרויקט ה-CONFIG של הבלוק. אתם יכולים לשפר את התצוגות והניתוחים שכבר הוגדרו בפרויקט הליבה של הבלוק, או אפילו להוסיף תצוגות וניתוחים חדשים שלא הוגדרו כבר בפרויקט הליבה. כל מה שאפשר לעשות באמצעות שיפורים ב-LookML בפרויקטים אחרים של LookML אפשר לעשות בקובץ refinements.lkml של הבלוק. השילוב של השיפור ושל קוד ה-LookML המקורי מתנהג כאילו הוא קוד ה-LookML המקורי של האובייקט.
אפשר גם לבצע שינויים בקובץ manifest.lkml של פרויקט ה-CONFIG כדי לציין תלויות שצריך לתעד עבור הבלוק הזה.
אתם לא מוגבלים לשינוי הקבצים האלה כדי להשיג את ההתאמות האישיות שאתם רוצים. אפשר גם ליצור קבצים חדשים בפרויקט CONFIG, אבל חשוב include את הקבצים החדשים בקובץ refinements.lkml.
התאמה אישית של קובץ השיפורים
אם יש לכם הרשאות develop, אתם יכולים להוסיף LookML מותאם אישית לפרויקט CONFIG כדי לשלב נתונים נוספים או לשנות את מודל הליבה האנליטי של הבלוק. אתם יכולים ליצור תצוגות חדשות ולצרף אותן לניתוחים קיימים, להגדיר שדות חדשים או להגדיר מחדש שדות קיימים, או להחיל תוויות לפי הצורך כדי ליצור מודל לניתוח שאתם רוצים לספק. אם יצרתם קבצים חדשים בפרויקט CONFIG, אתם צריכים include אותם בקובץ השיפורים.
לדוגמה, נניח שהתקנתם בלוק וקובץ ה-refinements.lkml שלו מכיל את קוד ה-LookML הבא:
include: "//<listing_id>/**/*.view.lkml"
include: "//<listing_id>/**/*.explore.lkml"
כאשר listing_id הוא הערך של הפרמטר listing מקובץ manifest.lkml.
אפשר להשתמש בהידוקים כדי להוסיף מימד חדש לתצוגה שנקראת flights:
include: "//<listing_id>/**/*.view.lkml"
include: "//<listing_id>/**/*.explore.lkml"
view: +flights {
dimension: air_carrier {
type: string
sql: ${TABLE}.air_carrier ;;
}
}
אפשר גם להחיל תווית על ניתוח ב'הצגה כניתוח' שנקרא aircraft כדי שהוא יופיע בממשק המשתמש בתור Aircraft Simplified:
include: "//<listing_id>/**/*.view.lkml"
include: "//<listing_id>/**/*.explore.lkml"
explore: +aircraft {
label: "Aircraft Simplified"
}
קובץ refinements.lkml נכלל באופן אוטומטי בקובץ המודל הווירטואלי של הבלוק, שמייבא את המודלים מפרויקט הליבה.
מידע נוסף על הנושא המתקדם הזה מופיע במאמר בנושא שיפורים ב-LookML.
התאמה אישית של קובץ המניפסט שאפשר לערוך
בבלוקים שמשתמשים בשיפורים, גם לפרויקט CORE וגם לפרויקט CONFIG יש קובצי מניפסט, אבל אפשר לערוך רק את קובץ המניפסט של פרויקט CONFIG.
אפשר לערוך את קובץ ה-CONFIG manifest.lkml כדי להוסיף פרמטרים של פרויקט לאלה שכבר מופיעים בקובץ המניפסט של פרויקט ה-CORE. לדוגמה, אפשר להוסיף local_dependency ל-join של בלוק אחד לבלוק אחר באותו מופע של Looker.
עדכון ערכים של קבועים
הקבועים של הבלוק מוגדרים בקובץ המניפסט של פרויקט הליבה (CORE) שיובא. אם מותר לשנות את הערך של קבוע, צריך לעשות זאת בממשק המשתמש של Marketplace במהלך ההגדרה או על ידי עדכון הבלוק. כדי לעדכן בלוק, למשתמשים צריכות להיות הרשאות develop, manage_models ו-deploy.
כדי לשנות את הערך של קבוע על ידי עדכון בלוק, פועלים לפי השלבים הבאים:
- ב-Looker Marketplace, עוברים לבלוק שרוצים לעדכן.
- לוחצים על הלחצן ניהול.
- לצד שם הבלוק שרוצים לעדכן, לוחצים על סמל גלגל השיניים. כך נפתח חלון ההגדרות של הבלוק.
- מבצעים שינויים בערכים הקבועים לפי הצורך.
- לוחצים על עדכון כדי לסגור את חלון ההגדרה של החסימה ולעדכן את החסימה עם השינויים שביצעתם.
השינויים יבואו לידי ביטוי בקובץ marketplace_lock.lkml לקריאה בלבד בפרויקט המותקן.
שמירה של ההתאמות האישיות מבלוק ב-Marketplace שמשתמש ב-extends
חלק מהבלוקים שזמינים ב-Looker Marketplace מורכבים מפרויקטים שמשתמשים ב-LookML extends. מערכת Looker ממירה את כל ה-Blocks ב-Marketplace למופעים ב-Looker 21.8 ואילך למבנה פרויקט שמבוסס על שיפורים ב-LookML, ותפסיק את התמיכה ב-Blocks שמבוססים על extends.
Looker ממליץ להתקין את הגרסה שמבוססת על שיפורים של כל בלוק Marketplace שיש לכם במופע, כשהבלוקים האלה יהיו זמינים, ולהחליף את הבלוקים שנבנו באמצעות extends. תהליך ההחלפה פשוט – אפשר להתקין את הבלוק החדש (refinements) מתוך רשימת הבלוקים ב-Looker Marketplace ולהסיר את הבלוק המקורי (extends) בדף Manage ב-Looker Marketplace. עם זאת, התהליך הזה לא ישמור את ההתאמות האישיות שבוצעו בבלוק שנבנה באמצעות extends. בנוסף, Looker לא יעביר תוכן או פונקציות של Looker שמבוססים על התוכן הזה – לוחות בקרה, ניתוחים ב-Explore, שליחת תוכן מתוזמנת, התראות – מהבלוק המקורי לבלוק החדש.
בקטע הזה מוסבר איך לשמור התאמות אישיות של בלוק שנבנה באמצעות פרויקטים שמשתמשים ב-extends, שאחרת יהיה קשה או ייקח הרבה זמן לשכפל מאפס.
כדי לשמור את ההתאמות האישיות של הבלוק, משתמש עם הרשאה להתקין חבילות מ-Marketplace ולנהל אותן צריך לבצע את השלבים הבאים:
- עדכון פרויקט ההגדרה של הבלוק המקורי כדי להתכונן להעברה
- התקנה של הגרסה החדשה של הבלוק מ-Looker Marketplace
- העברת ההתאמות האישיות לבלוק החדש של Marketplace
- יצירה מחדש של תוכן Looker על סמך הבלוק המקורי
- הסרת הגרסה של הבלוק שנבנתה באמצעות extends
עדכון של בלוק בהתאמה אישית לקראת העברה
בקטע הזה מוסבר איך לעדכן קובצי פרויקט מרכזיים בבלוק שנבנה באמצעות extends, כדי שתוכלו להעתיק את ההתאמות האישיות של הבלוק לגרסה חדשה של הבלוק שמבוססת על שיפורים. בלוק שמבוסס על פרויקט שמשתמש ב-extends מותקן מ-Marketplace כפרויקט CORE לקריאה בלבד וכפרויקט CONFIG שניתן לעריכה.
עוברים לפרויקט CONFIG של הבלוק מהקטע Develop (פיתוח) באחת מהדרכים הבאות:
- לוחצים על האפשרות פרויקטים ואז על שם הפרויקט.
- לוחצים על שם פרויקט ה-CONFIG של הבלוק ברשימת הפרויקטים.
שמות הפרויקטים של CONFIG מסתיימים בדרך כלל ב-_config, ואילו לשם של פרויקט CORE בדרך כלל אין סיומת.
פותחים את קובץ המודל של הפרויקט, שיכול להיראות כך:
explore: ga_sessions_config {
extends: [ga_sessions_core]
extension: required
join: user_sales_data {
sql_on: ${user_sales_data.full_visitor_id} = ${ga_sessions.full_visitor_id} ;;
}
join: sales__by__category {
sql: LEFT JOIN UNNEST(${user_sales_data.sales_by_category}) as sales__by__category;;
}
}
explore: future_input_config {
extends: [future_input_core]
extension: required
join: future_purchase_prediction {
type: left_outer
sql_on: ${future_input.full_visitor_id} = ${future_purchase_prediction.full_visitor_id} ;;
relationship: one_to_one
}
}
במצב פיתוח, מבצעים את הפעולות הבאות:
- מוחקים את כל השורות
extendsו-extension. - מחיקת
_configמהשמות שלexplore. - הוספת
+לפני השמות שלexplore.
דוגמה לקובץ מודל:
- מוחקים את כל השורות
explore: +ga_sessions {
join: user_sales_data {
sql_on: ${user_sales_data.full_visitor_id} = ${ga_sessions.full_visitor_id} ;;
}
join: sales__by__category {
sql: LEFT JOIN UNNEST(${user_sales_data.sales_by_category}) as sales__by__category;;
}
}
explore: +future_input {
join: future_purchase_prediction {
type: left_outer
sql_on: ${future_input.full_visitor_id} = ${future_purchase_prediction.full_visitor_id} ;;
relationship: one_to_one
}
}
- צריך להעתיק את התוכן של הקובץ הזה ולשמור אותו לשלב הבא.
התקנת הבלוק החדש של Marketplace
בלוק שמבוסס על פרויקט שמשתמש בשיפורים מותקן מ-Marketplace כפרויקט LookML יחיד שניתן לעריכה, שמייבא מרחוק את הפרויקט שמכיל את כל הפרמטרים של LookML והקבועים.
- לוחצים על סמל החנות בסרגל התפריטים של Looker כדי לעבור אל Looker Marketplace.
- לוחצים על כרטיס המוצר של בלוק השוק החדש שמבוסס על שיפורים. לבלוק הזה יש את אותו שם כמו לבלוק הקיים שנבנה באמצעות extends.
- לוחצים על התקנה כדי להתקין את הבלוק החדש. אחרי שמתקינים את הבלוק הזה, יופיעו שני כרטיסי מוצר זהים בדף ניהול ב-Looker Marketplace.
העברת התאמות אישיות לבלוק החדש של Marketplace
בקטע הזה מוסבר איך להעביר את העדכונים שביצעתם בבלוק המקורי (extends) לבלוק החדש (refinements).
בקטע פיתוח, פותחים את הפרויקט של הבלוק החדש באחת מהדרכים הבאות:
- לוחצים על האפשרות פרויקטים ואז על שם הפרויקט.
- לוחצים על שם הפרויקט של הבלוק ברשימת הפרויקטים.
בדרך כלל, השם של בלוק לשיפורים ב-Marketplace מתחיל ב-marketplace_ ואחריו מזהה כרטיס המוצר.
בקובץ
refinements.lkml, מדביקים את התוכן המעודכן מקובץ המודל של הבלוק המקורי (extends). חשוב לשמור את כל הצהרותincludeשכבר נמצאות בקובץ השיפורים.
יצירה מחדש של תוכן Looker על סמך הבלוק המקורי
השלב האחרון בהטמעת הגרסה של בלוק Marketplace שמבוססת על שיפורים הוא להסיר את הגרסה המקורית של הבלוק שמבוססת על extends. חלק מהבלוקים שמבוססים על extends מכילים לוחות בקרה ודוחות Explore מובנים מראש ב-LookML. אם משתמשים יצרו התראות או משלוחים מתוזמנים שמבוססים על לוחות בקרה של LookML שהוגדרו בבלוק המקורי (extends), ההתראות או המשלוחים האלה יושבתו או ייכשלו, בהתאמה, אחרי שהבלוק יוסר מ-Looker Marketplace.
תצטרכו ליצור מחדש את ההתראות או את המסירות המתוזמנות בלוחות הבקרה של LookML בבלוק החדש (שיפורים). אדמינים ומשתמשים ב-Looker עם ההרשאות המתאימות לתזמון ולהתראות יכולים להשתמש בדפים התראות ותזמון בקטע האדמין כדי לחפש את השמות של לוחות הבקרה של בלוק (extends) ואז ליצור התראות חדשות או משלוחים מתוזמנים לפי הצורך בלוחות הבקרה התואמים של בלוק (refinements).
בנוסף, צריך לשנות כל תוכן אחר ב-Looker שמפנה לניתוחים או ללוחות בקרה של LookML של הבלוק המקורי (הבלוק המורחב), כך שיפנה לבלוק החדש (השיפורים), לפי הצורך.
הסרת החסימה המקורית
כדי להסיר את הגרסה של הבלוק שנבנתה באמצעות extends, פועלים לפי השלבים הבאים:
לוחצים על סמל החנות בסרגל התפריטים של Looker כדי לעבור אל Looker Marketplace.
ב-Looker Marketplace, בתפריט הניווט הימני, לוחצים על ניהול כדי לפתוח את הדף ניהול.
בדף ניהול, לוחצים על סמל פח האשפה כדי להסיר את הבלוק המקורי (המורחב). כדי להבדיל בין רשימת החסימה של ההרחבות לבין רשימת החסימה של השיפורים, אפשר לבדוק את מספרי הגרסאות. הבלוק extends יהיה בגרסה ראשית אחת מאחורי הבלוק refinements. לדוגמה, הבלוק extends יכול להיות בגרסה
1.0.4והבלוק refinements יכול להיות בגרסה2.0.0.
פתרון בעיות שקשורות לחסימה
אם מופיעות שגיאות בבלוק Marketplace, יכול להיות שהסכימה לא תואמת למבנה של הבלוק.
כדאי גם לבדוק שהקבועים שסופקו במהלך ההתקנה של הבלוק, שמייצגים את החיבור, מסד הנתונים או הסכימה של הבלוק, הוגדרו בצורה נכונה. לשם כך, בצע את הצעדים הבאים:
לוחצים על סמל החנות בסרגל התפריטים של Looker כדי לעבור אל Looker Marketplace.
ב-Looker Marketplace, בוחרים באפשרות ניהול בחלונית הניווט הראשית כדי לפתוח את הדף ניהול.
בדף ניהול, לוחצים על סמל גלגל השיניים של הבלוק כדי לראות את הגדרות התצורה שלו.
בחלון עדכון הגדרות, מוודאים שהחסימה מוגדרת בצורה נכונה. אחרי שמבצעים שינויים, לוחצים על עדכון כדי לשמור את העדכונים ולסגור את חלון הגדרת החסימה.