בדף הזה מוסבר איך לחבר את 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. הסיבה לכך היא בעיה בניתוח שאילתות בגרסאות 2.4.0 עד 3.1.2 של Hive, שגרמה לזמני ניתוח ארוכים במיוחד של 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 ב-Tez (hive.execution.engine=tez), אבל אפשר גם להריץ את Looker מול Hive ב-Spark. התמיכה ב-Spark נוספה בגרסה 1.1 של Hive. (Looker תומך ב-Hive 1.2.1 ואילך).
טבלאות נגזרות מתמידות (PDT)
כדי להפעיל טבלאות נגזרות מתמידות (PDT) ב-Looker באמצעות חיבור Hive, צריך ליצור סכימת בסיס לשימוש ב-Looker. הדוגמה הבאה היא של פקודה שאפשר להשתמש בה כדי ליצור סכימה של looker_scratch:
CREATE SCHEMA looker_scratch;
לחשבון המשתמש שבו Looker משתמש כדי להתחבר ל-Hive (שיכול להיות אנונימי אם לא משתמשים באימות) צריכות להיות היכולות הבאות בסכימת הבסיס:
- יצירת טבלאות
- שינוי טבלאות
- הסרת טבלאות
כדאי לבדוק את זה עם לקוח JDBC לפני שמנסים ליצור טבלאות PDT עם Hive.
תורים
אם רוצים ששאילתות מ-Looker יועברו לתור ספציפי, מזינים את הפרמטר של שם התור בשדה Additional JDBC parameters בדף Connection Settings:
?tez.queue.name=the_bi_queue
אפשר להגדיר פרמטרים אחרים של Hive באותו אופן בשדה Additional JDBC parameters בדף Connection Settings.
באמצעות מאפייני משתמשים, אפשר להעביר שאילתות ממשתמשים שונים או מקבוצות שונות של משתמשים לתורים שונים. כדי לעשות את זה, יוצרים שם מאפיין משתמש בשם כמו queue_name, ואז מוסיפים את הפרמטרים הבאים בשדה Additional JDBC parameters:
?tez.queue.name={{ _user_attributes['queue_name'] }}
אפשר להשתמש בזה גם כדי להתאים אישית פרמטרים אחרים של hive-site.xml לכל משתמש או לכל קבוצה.
יצירת החיבור של Looker למסד הנתונים
כדי ליצור את החיבור בין Looker למסד הנתונים:
- בקטע Admin ב-Looker, בוחרים באפשרות Connections ולוחצים על Add Connection.
בתפריט הנפתח Dialect, בוחרים באפשרות Apache Hive 2.3+ או Apache Hive 3.1.2+.
ממלאים את פרטי החיבור. רוב ההגדרות משותפות לרוב הניבים של מסדי הנתונים. מידע נוסף זמין בדף התיעוד קישור Looker למסד הנתונים. הנה תיאור של חלק מההגדרות:
- שם: מציינים את שם החיבור. כך תתייחסו לחיבור בפרויקטים של LookML.
- מארח: מציינים את שם המארח.
- יציאה: מציינים את היציאה של מסד הנתונים.
- מסד נתונים: מציינים את השם של מסד הנתונים.
- שם משתמש: מציינים את שם המשתמש של מסד הנתונים.
- Password: מציינים את סיסמת המשתמש של מסד הנתונים.
- Enable PDTs: מתג להפעלה של טבלאות נגזרות מתמידות (PDT). כשהאפשרות PDTs מופעלת, בחלון Connection מופיעות הגדרות נוספות של PDT והקטע PDT Overrides.
- Temp Database: מציינים את השם של סכימת הבסיס שנוצרה בקטע טבלאות נגזרות מתמידות (PDT) בדף התיעוד הזה.
- Max number of PDT builder connections: מציינים את מספר ה-PDT שאפשר ליצור בו-זמנית בחיבור הזה. אם הערך הזה גבוה מדי, הוא עלול להשפיע לרעה על זמני השאילתות. מידע נוסף זמין בדף התיעוד קישור של Looker למסד הנתונים.
- פרמטרים נוספים של JDBC: מוסיפים פרמטרים נוספים של JDBC. רשימת הפרמטרים הנתמכים מופיעה בקטע פרמטרים נתמכים של JDBC בדף הזה.
- Maintenance Schedule: מציינים ביטוי
cronשמציין מתי Looker צריך לבדוק קבוצות נתונים וטבלאות נגזרות מתמידות. מידע נוסף על ההגדרה הזו זמין במסמכי התיעוד של לוח הזמנים לתחזוקה. - 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.
- אזור הזמן של מסד הנתונים: מציינים את אזור הזמן שבו משתמשים במסד הנתונים. אם אתם לא רוצים להמיר את אזור הזמן, השאירו את השדה הזה ריק. מידע נוסף זמין בדף התיעוד שימוש בהגדרות אזור הזמן.
כדי לוודא שהחיבור הצליח, לוחצים על הכפתור בדיקת החיבור בקטע פרטי הסטטוס שבתחתית הדף הגדרות החיבור.
אם ב-Looker מוצגת ההודעה Can Connect, לוחצים על Connect כדי ליצור את החיבור.
החיבור למסד הנתונים יתווסף לרשימה בדף Admin (ניהול) בקטע Connections (חיבורים) ב-Looker.
פרמטרים נתמכים של JDBC
ב-Apache Hive, Looker תומך בפרמטרים הבאים של JDBC בשדה Additional JDBC parameters של החיבור. מידע על הפרמטרים האלה מופיע במסמכי התיעוד של מסד הנתונים.
fetchSizehttpPathkeyStorePasswordpasswordprincipalserviceDiscoveryModessltez.queue.nametransportModetwoWayuserzooKeeperNamespace
תמיכה בתכונות
כדי ש-Looker יתמוך בתכונות מסוימות, גם הניב של מסד הנתונים צריך לתמוך בהן.
Apache Hive מגרסה 2.3 ואילך
החל מגרסה 26.22 של Looker, Apache Hive 2.3 ואילך תומך בתכונות הבאות:
| תכונה | יש תמיכה? |
|---|---|
| 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 מצטברות | |
| אלפיות השנייה | |
| מיקרו-שניות | |
| תצוגות מהותיות | |
| מדדים להשוואה בין תקופות שונות | |
| ספירה משוערת של ערכים ייחודיים | |
| מודלים של ניתוח נתונים במסד הנתונים | |
| יומנים בהתאמה אישית |
Apache Hive מגרסה 3.1.2 ואילך
החל מגרסה 26.22 של Looker, גרסה 3.1.2 ואילך של Apache Hive תומכת בתכונות הבאות:
| תכונה | יש תמיכה? |
|---|---|
| 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 מצטברות | |
| אלפיות השנייה | |
| מיקרו-שניות | |
| תצוגות מהותיות | |
| מדדים להשוואה בין תקופות שונות | |
| ספירה משוערת של ערכים ייחודיים | |
| מודלים של ניתוח נתונים במסד הנתונים | |
| יומנים בהתאמה אישית |
השלבים הבאים
אחרי שמקשרים את מסד הנתונים ל-Looker, מגדירים את אפשרויות הכניסה של המשתמשים.