בדף הזה מוסבר איך לקשר את 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 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 (יכול להיות אנונימי אם לא נעשה שימוש באימות) צריכות להיות היכולות הבאות בסכימת הגירוד:
- יצירת טבלאות
- שינוי טבלאות
- הסרת טבלאות
מומלץ לבדוק את זה באמצעות לקוח 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 למסד הנתונים:
- בקטע Admin ב-Looker, בוחרים באפשרות Connections ולוחצים על Add Connection.
בתפריט הנפתח Dialect, בוחרים באפשרות Apache Hive 2.3+ או Apache Hive 3.1.2+.
ממלאים את פרטי החיבור. רוב ההגדרות משותפות לרוב הניבים של מסדי הנתונים. מידע נוסף זמין בדף התיעוד קישור Looker למסד הנתונים. הנה תיאור של חלק מההגדרות:
- שם: מציינים את שם החיבור. כך תתייחסו לחיבור בפרויקטים של LookML.
- מארח: מציינים את שם המארח.
- יציאה: מציינים את היציאה של מסד הנתונים.
- Database: מציינים את שם מסד הנתונים.
- Username: שם המשתמש של מסד הנתונים.
- סיסמה: מציינים את הסיסמה של משתמש מסד הנתונים.
- הפעלת טבלאות נגזרות מתמידות (PDT): המתג הזה משמש להפעלת טבלאות נגזרות מתמידות (PDT). כשההגדרה PDT מופעלת, בחלון Connection מופיעות הגדרות נוספות של PDT והקטע PDT Overrides.
- Temp Database: מציינים את השם של סכימת בסיס שנוצרה בקטע Persistent derived tables (PDTs) בדף התיעוד הזה.
- Max number of PDT builder connections: מציינים את מספר ה-PDT שאפשר ליצור בו-זמנית בחיבור הזה. הגדרת ערך גבוה מדי עלולה להשפיע לרעה על זמני השאילתות. מידע נוסף זמין בדף התיעוד בנושא חיבור Looker למסד הנתונים.
- פרמטרים נוספים של JDBC: מוסיפים פרמטרים נוספים של JDBC. רשימת הפרמטרים הנתמכים מופיעה בקטע פרמטרים נתמכים של JDBC בדף הזה.
- לוח זמנים לתחזוקה: מציינים ביטוי
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 (התחברות) כדי ליצור את החיבור.
החיבור למסד הנתונים יתווסף לרשימה בדף Connections Admin ב-Looker.
פרמטרים נתמכים של JDBC
ב-Apache Hive, Looker תומך בפרמטרים הבאים של JDBC בשדה Additional JDBC parameters (פרמטרים נוספים של JDBC) לחיבור. מידע על הפרמטרים האלה מופיע במסמכי התיעוד של מסד הנתונים.
fetchSizehttpPathkeyStorePasswordpasswordprincipalserviceDiscoveryModessltez.queue.nametransportModetwoWayuserzooKeeperNamespace
תמיכה בתכונות
כדי ש-Looker יתמוך בתכונות מסוימות, הניב של מסד הנתונים צריך לתמוך בהן גם כן.
Apache Hive מגרסה 2.3 ואילך
החל מגרסה 26.20 של Looker, Apache Hive 2.3 ואילך תומך בתכונות הבאות:
| תכונה | יש תמיכה? |
|---|---|
| Looker (Google Cloud core) | |
| צבירה סימטרית | |
| טבלאות נגזרות | |
| טבלאות נגזרות מתמידות שמבוססות על SQL | |
| טבלאות נגזרות מתמידות מבוססות LookML | |
| תצוגות יציבות | |
| סגירת שאילתות | |
| טבלאות ציר שמבוססות על SQL | |
| אזורי זמן | |
| SSL | |
| סיכומי ביניים | |
| פרמטרים נוספים של JDBC | |
| תלוי אותיות רישיות (case-sensitive) | |
| סוג מיקום | |
| סוג הרשימה | |
| מאון | |
| אחוזון ייחודי | |
| SQL Runner Show Processes | |
| SQL Runner Describe Table | |
| SQL Runner Show Indexes | |
| SQL Runner Select 10 | |
| מספר המשתמשים ב-SQL Runner | |
| הסבר על SQL | |
| פרטי כניסה של OAuth 2.0 | |
| הערות להוספת הקשר | |
| מאגר חיבורים (connection pooling) | |
| HLL sketches | |
| מודעות מצטברת | |
| PDT מצטברות | |
| אלפיות השנייה | |
| מיקרו-שניות | |
| תצוגות מהותיות | |
| מדדים להשוואה בין תקופות שונות | |
| ספירה משוערת של ערכים ייחודיים | |
| מודלים אנליטיים במסד הנתונים | |
| יומנים בהתאמה אישית |
Apache Hive בגרסה 3.1.2 ואילך
Apache Hive 3.1.2+ תומך בתכונות הבאות החל מ-Looker 26.20:
| תכונה | יש תמיכה? |
|---|---|
| Looker (Google Cloud core) | |
| צבירה סימטרית | |
| טבלאות נגזרות | |
| טבלאות נגזרות מתמידות שמבוססות על SQL | |
| טבלאות נגזרות מתמידות מבוססות LookML | |
| תצוגות יציבות | |
| סגירת שאילתות | |
| טבלאות ציר שמבוססות על SQL | |
| אזורי זמן | |
| SSL | |
| סיכומי ביניים | |
| פרמטרים נוספים של JDBC | |
| תלוי אותיות רישיות (case-sensitive) | |
| סוג מיקום | |
| סוג הרשימה | |
| מאון | |
| אחוזון ייחודי | |
| SQL Runner Show Processes | |
| SQL Runner Describe Table | |
| SQL Runner Show Indexes | |
| SQL Runner Select 10 | |
| מספר המשתמשים ב-SQL Runner | |
| הסבר על SQL | |
| פרטי כניסה של OAuth 2.0 | |
| הערות להוספת הקשר | |
| מאגר חיבורים (connection pooling) | |
| HLL sketches | |
| מודעות מצטברת | |
| PDT מצטברות | |
| אלפיות השנייה | |
| מיקרו-שניות | |
| תצוגות מהותיות | |
| מדדים להשוואה בין תקופות שונות | |
| ספירה משוערת של ערכים ייחודיים | |
| מודלים אנליטיים במסד הנתונים | |
| יומנים בהתאמה אישית |
השלבים הבאים
אחרי שמקשרים את מסד הנתונים ל-Looker, מגדירים את אפשרויות הכניסה של המשתמשים.