‫Apache Hive

בדף הזה מוסבר איך לחבר את Looker ל-Apache Hive 2.3+ ול-Apache Hive 3.1.2+.

חשוב לשים לב לנקודות הבאות לגבי התמיכה של Looker בגרסאות השונות של Apache Hive:

  • ‫Looker תומך בחיבורים ל-Apache Hive 2.3 ואילך ול-Apache Hive 3.1.2 ואילך:
    • ל-Apache Hive 2.3 ואילך, ל-Looker יש תמיכה ברמת השילוב.
    • ב-Apache Hive 3.1.2 ואילך, ‏ Looker יכול להשתלב באופן מלא עם מסדי נתונים של Apache Hive 3 רק בגרסאות מאוחרות יותר מ-3.1.2. הסיבה לכך היא בעיה בניתוח שאילתות בגרסאות Hive‏ 2.4.0 עד 3.1.2, שגרמה לזמני ניתוח ארוכים במיוחד של SQL שנוצר על ידי Looker.
  • ‫Looker לא תומך בחיבורים ל-Apache Hive 2. שאילתות על חיבורים ל-Apache Hive 2 יחזירו שגיאה.

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

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

מבוא

הארכיטקטורה של Looker מאפשרת להתחבר לשרת מסד נתונים באמצעות JDBC. במקרה של Hive, זהו שרת ה-thrift‏ (HiveServer2). מידע נוסף זמין במאמרי העזרה של Apache.

כברירת מחדל, השרת הזה יאזין ליציאה 10000.

‫Looker הוא כלי אינטראקטיבי לשאילתות, ולכן הוא מצפה לעבוד עם מנוע SQL אינטראקטיבי. אם Hive פועל ב-MapReduce – הערך של hive.execution.engine מוגדר כ-mr – אז Hive יחזיר את תוצאות השאילתה לאט מדי, כך שלא יהיה מעשי להשתמש בהן.

נבדק ב-Looker עם Hive on Tez ‏ (hive.execution.engine=tez), אבל אפשר גם להריץ את Looker מול Hive on Spark. התמיכה ב-Spark נוספה בגרסה 1.1 של Hive. ‫(Looker תומך ב-Hive 1.2.1 ואילך).

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

כדי להפעיל טבלאות נגזרות מתמידות (PDT) ב-Looker באמצעות חיבור Hive, צריך ליצור סכימת בסיס לשימוש ב-Looker. הדוגמה הבאה היא של פקודה שאפשר להשתמש בה כדי ליצור סכימת looker_scratch:

 CREATE SCHEMA looker_scratch;

לחשבון המשתמש שבו Looker משתמש כדי להתחבר ל-Hive (יכול להיות אנונימי אם לא נעשה שימוש באימות) צריכות להיות היכולות הבאות בסכימת ה-scratch:

  • יצירת טבלאות
  • שינוי טבלאות
  • הסרת טבלאות

מומלץ לבדוק את זה באמצעות לקוח JDBC לפני שמנסים ליצור PDT באמצעות Hive.

תורים

אם רוצים שהשאילתות מ-Looker יועברו לתור ספציפי, מזינים את פרמטר שם התור בשדה Additional JDBC parameters בדף Connection Settings:

?tez.queue.name=the_bi_queue

אפשר להגדיר פרמטרים אחרים של Hive בשדה Additional JDBC parameters (פרמטרים נוספים של JDBC) בדף Connection Settings (הגדרות חיבור).

אפשר להשתמש במאפייני משתמשים כדי ששאילתות ממשתמשים שונים או מקבוצות משתמשים שונות יועברו לתורים שונים. כדי לעשות זאת, יוצרים מאפיין משתמש בשם כלשהו, כמו queue_name, ואז בשדה Additional JDBC parameters מוסיפים את הפרמטרים הבאים:

?tez.queue.name={{ _user_attributes['queue_name'] }}

אפשר להשתמש בזה גם כדי להתאים אישית פרמטרים אחרים של hive-site.xml על בסיס משתמש יחיד או קבוצה.

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

כדי ליצור את החיבור מ-Looker למסד הנתונים:

  1. בקטע Admin (ניהול) ב-Looker, בוחרים באפשרות Connections (חיבורים) ואז לוחצים על Add Connection (הוספת חיבור).
  2. בתפריט הנפתח ניב, בוחרים באפשרות Apache Hive 2.3+‎ או Apache Hive 3.1.2+‎.

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

    • שם: מציינים את שם החיבור. כך תתייחסו לחיבור בפרויקטים של LookML.
    • מארח: מציינים את שם המארח.
    • יציאה: מציינים את יציאת מסד הנתונים.
    • Database (מסד נתונים): מציינים את השם של מסד הנתונים.
    • שם משתמש: מציינים את שם המשתמש במסד הנתונים.
    • סיסמה: מציינים את סיסמת המשתמש במסד הנתונים.
    • הפעלת PDT: משתמשים במתג הזה כדי להפעיל טבלאות נגזרות מתמידות. כשמפעילים PDT, בחלון Connection מופיעות הגדרות נוספות של PDT והקטע PDT Overrides.
    • Temp Database: מציינים את השם של סכימת הגירוד שנוצרה בקטע Persistent derived tables (PDTs) בדף התיעוד הזה.
    • מספר החיבורים המקסימלי של כלי ליצירת PDT: מציינים את מספר האפשרויות האפשריות ליצירת PDT בו-זמנית בחיבור הזה. הגדרת ערך גבוה מדי עלולה להשפיע לרעה על זמני השאילתות. מידע נוסף זמין בדף התיעוד בנושא חיבור Looker למסד הנתונים.
    • פרמטרים נוספים של JDBC: מוסיפים פרמטרים נוספים של JDBC. רשימת הפרמטרים הנתמכים מופיעה בקטע פרמטרים נתמכים של JDBC בדף הזה.
    • לוח זמנים לתחזוקה: מציינים ביטוי cron שמציין מתי Looker צריך לבדוק קבוצות נתונים וטבלאות נגזרות קבועות. מידע נוסף על ההגדרה הזו זמין במסמכי התיעוד בנושא תזמון תחזוקה.
    • SSL: מסמנים את התיבה כדי להשתמש בחיבורי SSL.
    • אימות SSL: בדיקה של אימות שם המארח.
    • מספר החיבורים המקסימלי לכל צומת: אפשר להשאיר את ההגדרה הזו בערך ברירת המחדל בהתחלה. מידע נוסף זמין בדף חיבור Looker למסד הנתונים.
    • Connection Pool Timeout (זמן קצוב לתפוגה של מאגר חיבורים): אפשר להשאיר את ההגדרה הזו בערך ברירת המחדל בהתחלה. מידע נוסף על ההגדרה הזו זמין בקטע Connection Pool Timeout (פסק זמן של מאגר חיבורים) בדף התיעוד Connecting Looker to your database (חיבור Looker למסד הנתונים).
    • SQL Runner Precache: כדי ש-SQL Runner לא יטען מראש את פרטי הטבלה, אלא יטען אותם רק כשבוחרים טבלה, צריך לבטל את הסימון של האפשרות הזו. מידע נוסף על ההגדרה הזו זמין בקטע SQL Runner Precache בדף התיעוד Connecting Looker to your database.
    • Database Time Zone (אזור זמן של מסד הנתונים): מציינים את אזור הזמן שבו נעשה שימוש במסד הנתונים. אם לא רוצים להמיר את אזור הזמן, משאירים את השדה הזה ריק. מידע נוסף מופיע בדף התיעוד בנושא שימוש בהגדרות אזור הזמן.
  4. כדי לוודא שהחיבור בוצע בהצלחה, לוחצים על בדיקה. מידע לפתרון בעיות זמין בדף בנושא בדיקת הקישוריות למסד הנתונים.

  5. כדי לשמור את ההגדרות האלה, לוחצים על Connect (חיבור).

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

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

  • fetchSize
  • httpPath
  • keyStorePassword
  • password
  • principal
  • serviceDiscoveryMode
  • ssl
  • tez.queue.name
  • transportMode
  • twoWay
  • user
  • zooKeeperNamespace

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

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

‫Apache Hive 2.3 ואילך

‫Looker 26.10 ואילך תומך בתכונות הבאות של Apache Hive 2.3+:

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

‫Apache Hive 3.1.2 ואילך

‫Apache Hive 3.1.2 ואילך תומך בתכונות הבאות החל מ-Looker 26.10:

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

השלבים הבאים

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