Databricks

אתם יכולים להגדיר את המכונה של Databricks כך שתעבוד עם Looker כדי לנתח את הנתונים ולהמחיש אותם באופן חזותי לצורך דיווח תפעולי. ‫Looker מתחבר ל-Databricks רק כש-Unity Catalog מופעל. כדי להגדיר את החיבור, צריך להצפין את התנועה ברשת, ליצור משתמש ייעודי ב-Looker ולהגדיר את הרשאות המשתמש.

הצפנת התנועה ברשת

מומלץ להצפין את התנועה ברשת בין אפליקציית Looker למסד הנתונים. כדאי לשקול אחת מהאפשרויות שמתוארות בדף התיעוד הפעלת גישה מאובטחת למסד נתונים.

יצירת משתמש ב-Looker

Looker מבצע אימות ל-Databricks באמצעות טוקני גישה אישיים. כדי ליצור אסימון גישה אישי למשתמש Databricks לשימוש ב-Looker, פועלים לפי המסמכים של Databricks.

מוסיפים הרשאות למשתמש הזה באמצעות GRANT.

למשתמש ב-Looker צריכות להיות לפחות ההרשאות SELECT ו-READ_METADATA.

GRANT SELECT ON DATABASE <YOUR_DATABASE> TO `<looker>@<your.databricks.com>`
GRANT READ_METADATA ON DATABASE <YOUR_DATABASE> TO `<looker>@<your.databricks.com>`

מידע על השרת

פועלים לפי המסמכים של Databricks כדי למצוא את נתיב ה-HTTP של אשכול Databricks. בדף הזה נתייחס לזה בתור <YOUR_HTTP_PATH>.

הגדרת טבלאות נגזרות מתמידות (PDT)

כדי להשתמש בטבלאות נגזרות מתמידות (PDT), צריך ליצור מסד נתונים נפרד.

CREATE DATABASE <YOUR_SCRATCH_DATABASE>

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

GRANT SELECT CREATE MODIFY ON DATABASE <YOUR_SCRATCH_DATABASE> TO `<looker>@<your.databricks.com>`
GRANT READ_METADATA ON DATABASE <YOUR_SCRATCH_DATABASE> TO `<looker>@<your.databricks.com>`

יצירת החיבור של Looker למסד הנתונים

בקטע Admin ב-Looker, בוחרים באפשרות Connections ולוחצים על Add Connection.

ממלאים את פרטי החיבור. רוב ההגדרות משותפות לרוב הניבים של מסדי הנתונים. מידע נוסף זמין בדף התיעוד קישור Looker למסד הנתונים. הנה תיאור של חלק מההגדרות:

  • שם: מציינים את שם החיבור. כך תתייחסו לחיבור בפרויקטים של LookML.
  • ‫Dialect: מציינים את הניב Databricks.
  • מארח: מציינים את כתובת ה-URL של סביבת העבודה ב-Databricks. לדוגמה, dbc-yyyyyyyy.cloud.databricks.com/.
  • יציאה: מציינים את היציאה של מסד הנתונים. ברירת המחדל היא 443.
  • ‫Database: מציינים את שם מסד הנתונים שבו רוצים להשתמש בשאילתות של Looker. ערך ברירת המחדל הוא default.
  • קטלוג: במסדי נתונים של Databricks שבהם מופעל Unity Catalog, מציינים את שם הקטלוג שבו רוצים להשתמש לשאילתות של Looker. אם לא תציינו קטלוג, Looker יגש לסכימות מהקטלוג שמוגדר כברירת מחדל בלבד. מידע נוסף זמין במאמר הפונקציונליות של Looker עם Databricks Unity Catalog.
  • אימות: בוחרים באפשרות חשבון מסד נתונים או OAuth:
    • משתמשים ב-Database Account כדי לציין טוקן גישה אישי של Databricks שישמש להתחברות ל-Looker (הוראות מפורטות בקטע יצירת משתמש ב-Looker).
      • בשדה Username, מזינים את הערך token (אל תזינו את כתובת האימייל של המשתמש ב-Databricks בשדה הזה).
      • בשדה Password, מזינים את טוקן הגישה האישי של Databricks.
    • משתמשים ב-OAuth כדי להגדיר את OAuth לחיבור. מידע נוסף זמין בקטע הגדרת OAuth לחיבורים של Databricks.
  • Enable PDTs: מתג להפעלה של טבלאות נגזרות מתמידות (PDT). כשהאפשרות PDTs מופעלת, בחלון Connection מופיעות הגדרות נוספות של PDT והקטע PDT Overrides. הערה: אין תמיכה ב-PDT בחיבורי Databricks שמשתמשים ב-OAuth.
  • מסד נתונים זמני: מזינים את מסד הנתונים שבו רוצים לאחסן את טבלאות ה-PDT.
  • ‫Max number of PDT builder connections: מציינים את מספר ה-PDT שאפשר ליצור בו-זמנית בחיבור הזה. אם הערך הזה גבוה מדי, הוא עלול להשפיע לרעה על זמני השאילתות. מידע נוסף זמין בדף התיעוד קישור של Looker למסד הנתונים.
  • פרמטרים נוספים של JDBC: מוסיפים פרמטרים נוספים של JDBC. בקטע פרמטרים נתמכים של JDBC שבדף הזה מפורטים הפרמטרים שנתמכים ב-Looker.

  • לוח זמנים לתחזוקה: ביטוי cron שמציין מתי Looker צריך לבדוק קבוצות נתונים וטבלאות נגזרות מתמידות. מידע נוסף על ההגדרה הזו זמין במסמכי התיעוד של לוח הזמנים לתחזוקה.

  • ‫SSL: מסמנים את התיבה כדי להשתמש בחיבורי SSL.

  • אימות SSL: מסמנים את התיבה כדי לאכוף אימות קפדני של אישור SSL.

  • מספר החיבורים המקסימלי לכל צומת: בהתחלה אפשר להשאיר את ההגדרה הזו בערך ברירת המחדל. מידע נוסף על ההגדרה הזו זמין בקטע מספר החיבורים המקסימלי לכל צומת בדף התיעוד חיבור Looker למסד הנתונים.

  • Connection Pool Timeout: אפשר להשאיר את ההגדרה הזו בערך ברירת המחדל בהתחלה. מידע נוסף על ההגדרה הזו זמין בקטע Connection Pool Timeout בדף התיעוד Connecting Looker to your database.

  • SQL Runner Precache: כדי ש-SQL Runner לא יטען מראש את פרטי הטבלה, אלא רק כשבוחרים טבלה, מבטלים את הסימון בתיבה הזו. מידע נוסף על ההגדרה הזו זמין בקטע SQL Runner Precache בדף התיעוד Connecting Looker to your database.

  • אחזור סכימת מידע לכתיבת SQL: כשההגדרה הזו מופעלת, Looker משתמש בסכימת המידע של מסד הנתונים כדי לייעל את כתיבת ה-SQL. מידע נוסף על ההגדרה הזו זמין בקטע אחזור סכימת מידע לכתיבת SQL בדף התיעוד קישור Looker למסד הנתונים.

  • אזור הזמן של מסד הנתונים: מציינים את אזור הזמן שבו ייעשה שימוש במסד הנתונים. אם אתם לא רוצים להמיר את אזור הזמן, השאירו את השדה הזה ריק. מידע נוסף זמין בדף התיעוד שימוש בהגדרות אזור הזמן.

כדי לוודא שהחיבור הצליח, לוחצים על הכפתור בדיקת החיבור בקטע פרטי הסטטוס בתחתית הדף הגדרות החיבור.

אם ב-Looker מוצגת ההודעה Can Connect, לוחצים על Connect כדי ליצור את החיבור.

החיבור למסד הנתונים יתווסף לרשימה בדף Admin (ניהול) בקטע Connections (חיבורים) ב-Looker.

הפונקציונליות של Looker עם Databricks Unity Catalog

ב-Looker יש תמיכה בחיבורים למסדי נתונים של Databricks שמופעל בהם Unity Catalog. אפשר לציין את שם הקטלוג בשדה Catalog בחלון Connection של Looker כשיוצרים חיבור של Looker למסד הנתונים, או כשעורכים חיבור קיים של Looker למסד נתונים של Databricks.

אם מסד הנתונים של Databricks מופעל עבור Unity Catalog, אתם יכולים לציין קטלוג של Databricks בשדה Catalog של החיבור ל-Looker. כשמציינים קטלוג של Databricks, ‏Looker משתמש בקטלוג בתרחישים הבאים:

  • כשיוצרים פרויקט LookML חדש ממסד הנתונים, המערכת של Looker יוצרת את קובצי הפרויקט על סמך הטבלאות בקטלוג שהוגדר בחיבור.
  • בפרויקטים קיימים, כשמשתמשים ב-Looker IDE כדי ליצור תצוגה מטבלה, Looker יוצר קובצי תצוגה רק מהטבלאות בקטלוג שהוגדר בחיבור.
  • כשמשתמשים ב-SQL Runner, אפשר לבחור רק סכימות מהקטלוג שהוגדר בחיבור.

אם מסד הנתונים של Databricks מופעל עבור Unity Catalog ובחיבור של Looker אין ערך בשדה Catalog, רוב הפונקציונליות של Looker תיגש לסכימות מהקטלוג שמוגדר כברירת מחדל בלבד, כמו בתרחישים הבאים:

  • כשיוצרים פרויקט LookML חדש ממסד הנתונים, המערכת של Looker יוצרת את קובצי הפרויקט על סמך הטבלאות בקטלוג ברירת המחדל של Unity Catalog.
  • בפרויקטים קיימים, כשמשתמשים ב-Looker IDE כדי ליצור תצוגה מטבלה, Looker יכול ליצור קובצי תצוגה רק מהטבלאות בקטלוג ברירת המחדל של Unity Catalog.
  • כשמשתמשים ב-SQL Runner, אפשר לבחור רק סכימות מקטלוג ברירת המחדל של Unity Catalog.

הגדרת OAuth לחיבורים של Databricks

Looker תומך ב-OAuth לחיבורים של Databricks, כלומר כל משתמש ב-Looker מאמת את מסד הנתונים ונותן הרשאה ל-Looker להריץ שאילתות במסד הנתונים באמצעות חשבון המשתמש שלו ב-OAuth.

באמצעות OAuth, מנהלי מסדי נתונים יכולים לבצע את המשימות הבאות:

  • לבדוק אילו משתמשי Looker מריצים שאילתות במסד הנתונים
  • אכיפת בקרות גישה שמבוססות על תפקידים באמצעות הרשאות ברמת מסד הנתונים
  • להשתמש באסימוני OAuth לכל התהליכים והפעולות שניגשים למסד הנתונים, במקום להטמיע מזהים וסיסמאות של מסד הנתונים בכמה מקומות
  • ביטול ההרשאה של משתמש מסוים ישירות דרך מסד הנתונים

בחיבורים ל-Databricks שמשתמשים ב-OAuth, המשתמשים צריכים להיכנס שוב מדי פעם כשתוקף הטוקנים של OAuth פג.

שימו לב לנקודות הבאות לגבי חיבורי OAuth ברמת מסד הנתונים:

  • אם תוקף טוקן ה-OAuth של משתמש פג, כל לוחות הזמנים או ההתראות של Looker שבבעלות המשתמש יושפעו. כדי למנוע את זה, Looker תשלח התראה באימייל לבעלים של כל תזמון וכל התראה לפני שתוקף האסימון הפעיל הנוכחי של OAuth יפוג. מערכת Looker שולחת את ההתראות האלה באימייל 14 ימים, 7 ימים ויום אחד לפני שתוקף האסימון פג. המשתמש יכול לעבור לדף המשתמש שלו ב-Looker כדי לאשר מחדש את Looker למסד הנתונים, וכך למנוע הפרעות בלוחות הזמנים ובהתראות שלו. פרטים נוספים זמינים בדף התיעוד התאמה אישית של הגדרות חשבון המשתמש.
  • מכיוון שחיבורים למסדי נתונים שמשתמשים ב-OAuth הם "לכל משתמש", גם כללי המדיניות של השמירה במטמון הם לכל משתמש ולא רק לכל שאילתה. כלומר, במקום להשתמש בתוצאות שנשמרו במטמון בכל פעם שאותה שאילתה מופעלת במהלך תקופת השמירה במטמון, Looker ישתמש בתוצאות שנשמרו במטמון רק אם אותו משתמש הפעיל את אותה שאילתה במהלך תקופת השמירה במטמון. למידע נוסף על שמירה במטמון, קראו את דף התיעוד בנושא שמירת שאילתות במטמון.
  • טבלאות נגזרות מתמידות (PDT) לא נתמכות בחיבורים של Databricks עם OAuth.
  • כשאדמין ב-Looker משתמש בפקודת sudo כמשתמש אחר, האדמין משתמש בטוקן הגישה של OAuth של אותו משתמש. אם פג התוקף של טוקן הגישה של המשתמש, האדמין לא יכול ליצור טוקן חדש בשם המשתמש שקיבל הרשאות sudo. בדף העזרה בנושא משתמשים מוסבר איך להשתמש בפקודה sudo.
  • כשמשתמש מתחיל תהליך הרשאה של OAuth לחיבור Databricks ב-Looker, מוצגת ב-Looker תיבת הדו-שיח Authorize OAuth Connection (אישור חיבור OAuth). בתיבת הדו-שיח מופיעה הודעה למשתמש שאישור החיבור מאפשר למכונה של Looker לגשת לנתונים בשמו, ושלמשתמשים בעלי הרשאות ב-Looker, כמו אדמינים או מפתחים, עשויה להיות גישה לנתונים שלו. המשתמש צריך לבחור באפשרות אישור לפני שהוא ממשיך לכניסה ל-Databricks. פרטי ההסכמה האלה נשמרים באחסון המקומי של הדפדפן של המשתמש, ותיבת הדו-שיח מופיעה שוב אם האחסון המקומי נמחק. אחרי שהמשתמש בוחר באפשרות Authorize, ב-Databricks לא מוצגת תיבת דו-שיח נוספת להבעת הסכמה מהמשתמש.
  • כדי להשתמש ב-OAuth בחיבור ל-Databricks, צריך שיהיו לכם משתמשים או חשבונות שירות ב-Databricks שאפשר להשתמש בהם לשאילתות של Looker. בנוסף, אתם צריכים לתת למשתמשים ולחשבונות השירות את ההרשאות ב-Databricks ש-Looker יצטרך כדי לגשת למקורות הנתונים ולבצע את הפעולות הנדרשות ב-Databricks.

כדי ליצור חיבור של Databricks ל-Looker באמצעות OAuth, צריך לבצע את השלבים הכלליים הבאים, שמפורטים בקטעים הבאים:

  1. הפעלת אפליקציית OAuth בהתאמה אישית ב-Databricks
  2. הגדרת החיבור ב-Looker

הפעלת אפליקציית OAuth בהתאמה אישית ב-Databricks

כדי להשתמש ב-OAuth לחיבור של Looker ל-Databricks, צריך להפעיל את Looker כאפליקציית OAuth בהתאמה אישית למסד הנתונים של Databricks. כך עושים את זה:

  1. נכנסים למסוף החשבון ב-Databricks.
  2. לוחצים על סמל ההגדרות בחלונית הצדדית.
  3. בחלון הגדרות, לוחצים על הכרטיסייה חיבורי אפליקציות.
  4. בכרטיסייה חיבורים לאפליקציות, לוחצים על הוספת חיבור.
  5. בתיבת הדו-שיח Add connection ב-Databricks, מזינים את הערכים הבאים:

    • שם האפליקציה: נותנים שם תיאורי, כמו "שילוב Looker".
    • כתובות URL להפניה אוטומטית: מזינים את כתובת ה-URL של Looker שאליה Databricks תפנה את המשתמשים אחרי הרשאה מוצלחת, בפורמט הבא (מחליפים את example.looker.com בכתובת ה-URL של המכונה של Looker):

      https://example.looker.com/external_oauth/redirect
      
    • היקפי גישה: בוחרים באפשרות SQL כדי לאפשר ל-Looker לשלוח שאילתות לנתונים באמצעות SQL.

    • יצירת סוד לקוח: מפעילים את האפשרות הזו.

  6. בתיבת הדו-שיח Add connection ב-Databricks, לוחצים על Add.

  7. מעתיקים את מזהה הלקוח ואת סוד הלקוח שנוצרו ב-Databricks ושומרים אותם במקום מאובטח.

רישום של אפליקציית OAuth עשוי להימשך עד 30 דקות במסד הנתונים של Databricks. מידע נוסף זמין במסמכי התיעוד הרשמיים של Databricks.

הגדרת החיבור ב-Looker

אחרי שמגדירים את Looker כאפליקציית OAuth בהתאמה אישית במסד הנתונים של Databricks, אפשר להגדיר חיבור של Looker ל-Databricks שמשתמש ב-OAuth.

  1. בקטע Admin ב-Looker, בוחרים באפשרות Connections ולוחצים על Add Connection.
  2. ממלאים את פרטי החיבור, כמו שמתואר בקטע יצירת החיבור של Looker למסד הנתונים בדף הזה.
  3. בשדה Authentication, בוחרים באפשרות OAuth.
  4. כשבוחרים באפשרות OAuth, ב-Looker מוצגים השדות מזהה לקוח OAuth ו-סוד לקוח OAuth. בערכים האלה, מזינים את מזהה הלקוח ואת סוד הלקוח שנוצרו על ידי Databricks כשהפעלתם את Looker כאפליקציית OAuth בהתאמה אישית ב-Databricks.
  5. לוחצים על הכפתור Test בתחתית הדף Connections Settings כדי לוודא ש-Looker יכול להגדיר את תהליך ה-OAuth ולהתחבר למכונה של Databricks.

פרמטרים נתמכים של JDBC

ב-Databricks, ‏Looker תומך בפרמטרים הבאים של JDBC בשדה Additional JDBC parameters של החיבור. מידע על הפרמטרים האלה מופיע במסמכי התיעוד של מסד הנתונים.

  • Auth_Flow
  • AuthMech
  • catalogSchemaSwitch
  • ConnSchema
  • httpPath
  • LogLevel
  • OAuth2ClientId
  • OAuth2Secret
  • PWD
  • SocketTimeout
  • ssl
  • transportMode
  • UID
  • UserAgentEntry

תמיכה בתכונות

כדי ש-Looker יתמוך בתכונות מסוימות, גם הניב של מסד הנתונים צריך לתמוך בהן.

החל מגרסה 26.22 של Looker, ‏Databricks תומך בתכונות הבאות:

תכונה יש תמיכה?
Looker (Google Cloud core)‎
צבירה סימטרית
טבלאות נגזרות
טבלאות נגזרות מתמידות של SQL
טבלאות נגזרות מתמידות מבוססות LookML
תצוגות יציבות
סגירת שאילתות
טבלאות ציר שמבוססות על SQL
אזורי זמן
SSL
סיכומי ביניים
פרמטרים נוספים של JDBC
תלוי אותיות רישיות (case-sensitive)
סוג מיקום
סוג הרשימה
מאון
מאון ייחודי
הצגת תהליכים ב-SQL Runner
‫SQL Runner Describe Table
הצגת אינדקסים ב-SQL Runner
‫SQL Runner Select 10
מספר השאילתות ב-SQL Runner
הסבר על קוד SQL
פרטי כניסה של OAuth 2.0
הערות להוספת הקשר
מאגר חיבורים (connection pooling)
שרטוטי HLL
מודעות מצטברת
טבלאות PDT מצטברות
אלפיות השנייה
מיקרו-שניות
תצוגות מהותיות
מדדים להשוואה בין תקופות שונות
ספירה משוערת של ערכים ייחודיים
מודלים של ניתוח נתונים במסד הנתונים
יומנים בהתאמה אישית