שכבת המודלים הסמנטיים של Looker LookML מאפשרת למנתחי נתונים להגדיר מאפיינים, צבירות, חישובים ויחסי נתונים במסד נתונים של SQL. מודלים של LookML מספקים אפשרות לשימוש חוזר בקוד ושילוב עם Git. מודל LookML מובנה היטב מאפשר למשתמשים לבצע בעצמם ניתוח נתונים ודיווח בשירות עצמי.
מודל LookML הוא הבסיס לכל נתון שמבוקש מ-Looker, בין אם הבקשה מגיעה מממשק Looker Explore בממשק המשתמש של Looker, מתצוגה חזותית מוטמעת בפורטל של החברה או באפליקציית צד שלישי אחרת, או מאפליקציה בהתאמה אישית שפותחה באמצעות API של Looker. ממשק Open SQL מספק גישה למודלים של LookML לכל אפליקציית צד שלישי שתומכת ב-Java Database Connectivity (JDBC). אפליקציות יכולות להתחבר למודל LookML כאילו היה מסד נתונים, וכך המשתמשים יכולים ליהנות מכל העבודה שמנתחי הנתונים שלהם ביצעו במודל LookML, תוך שימוש בכלים שהם הכי רגילים אליהם.
איך ממשק Open SQL מציג רכיבים של פרויקט LookML
כדי להבין איך Open SQL Interface חושף את הרכיבים של פרויקט LookML, חשוב להבין את המבנה של פרויקטים של LookML.
פרויקט LookML הוא אוסף של קבצים שמתארים את האובייקטים, את החיבורים למסד הנתונים ואת רכיבי ממשק המשתמש שמשמשים לביצוע שאילתות SQL ב-Looker (מידע נוסף זמין במאמר מונחים ומושגים ב-LookML). המושגים הבאים בפרויקט של LookML קשורים לממשק Open SQL:
- מודל LookML מציין חיבור למסד נתונים וחיפוש אחד או יותר. ממשק Open SQL מציג מודלים כסכימות של מסדי נתונים.
- ניתוח נתונים הוא קיבוץ לוגי של תצוגה אחת או יותר ושל קשרי הצירוף בין התצוגות האלה. ממשק Open SQL מציג ניתוחים כטבלאות מסד נתונים.
- תצוגה מגדירה אוסף של שדות (מאפיינים ומדדים). תצוגה מבוססת בדרך כלל על טבלה במסד הנתונים או על טבלה נגזרת. תצוגות יכולות להכיל את העמודות מטבלת מסד הנתונים הבסיסית, וגם מאפיינים או מדדים מותאמים אישית שמשתמשי הקצה עשויים להזדקק להם. ממשק Open SQL מציג את השילוב של שם תצוגה ושם שדה כשם עמודה במסד הנתונים. לדוגמה, המאפיין
idבתצוגהorder_itemsמוצג על ידי Open SQL Interface כעמודה במסד הנתונים שנקראתorder_items.id.
ב-Looker Explore אפשר להגדיר יחסי צירוף בין כמה תצוגות. יכול להיות שלתצוגה אחת יהיה שדה עם אותו שם כמו שדה בתצוגה אחרת, ולכן בממשק Open SQL, כשמפנים לעמודה, מציינים גם את שם התצוגה וגם את שם השדה. לכן, כששולחים שאילתות לממשק Open SQL, צריך להשתמש בפורמט הזה כדי להפנות לשם של עמודה:
`<view_name>.<field_name>`
לדוגמה, אם יש לכם ניתוח נתונים ב-Explore בשם order_items שמצטרף לתצוגה בשם customer ולתצוגה בשם product, ובשתי התצוגות האלה יש מאפיין id, תצטרכו להתייחס לשני השדות של id בתור `customer.id` ו-`product.id`, בהתאמה. כדי להשתמש בשם המלא גם בשם הניתוח, צריך להתייחס לשני השדות כאל `order_items`.`customer.id` ו-`order_items`.`product.id`. (במאמר שימוש בגרשיים הפוכים סביב מזהי מסדי נתונים מוסבר איפה צריך להוסיף את הגרשיים ההפוכים כשמפנים למזהי מסדי נתונים).
הגדרת ממשק Open SQL
כדי להשתמש בממשק Open SQL, מבצעים את השלבים הבאים:
- מוודאים שמתקיימות הדרישות.
- מורידים את קובץ מנהל ההתקן של Open SQL Interface JDBC.
בקטעים הבאים מפורטים השלבים האלה.
דרישות
כדי להשתמש בממשק Open SQL, צריך את הרכיבים הבאים:
- האפליקציה של צד שלישי שבה רוצים להשתמש (כמו Tableau, ThoughtSpot או אפליקציה בהתאמה אישית) צריכה להיות מסוגלת להתחבר למכונה של Looker. אפשר להשתמש בממשק Open SQL עם מופעי Looker שמתארחים אצל הלקוח, כל עוד מופע Looker מחובר לרשת באופן שמאפשר לאפליקציית הצד השלישי לגשת למופע Looker.
- פרויקט LookML שמשתמש בנתונים מחיבור ל-Google BigQuery. (בפרויקט LookML צריך להיות קובץ model שמציין חיבור ל-Google BigQuery בפרמטר
connection). - תפקיד משתמש ב-Looker שכולל את ההרשאה
exploreבמודל LookML שרוצים לגשת אליו באמצעות ממשק SQL פתוח.
הורדת מנהל ההתקן של Open SQL Interface JDBC
מנהל ההתקן של Looker Open SQL Interface JDBC נקרא avatica-<release_number>-looker.jar. אפשר להוריד את הגרסה העדכנית מ-GitHub בכתובת https://github.com/looker-open-source/calcite-avatica/releases.
מנהל ההתקן של JDBC מצפה לפורמט כתובת ה-URL הבא:
jdbc:looker:url=https://Looker instance URL
לדוגמה:
jdbc:looker:url=https://myInstance.cloud.looker.com
המחלקות של מנהל ההתקן JDBC הן:
org.apache.calcite.avatica.remote.looker.LookerDriver
אימות לממשק Open SQL
ממשק Open SQL תומך בשלוש שיטות לאימות:
OAuth
אפשר להגדיר לקוחות JDBC שתומכים ב-OAuth כך שישתמשו בשרת OAuth של מופע Looker. פועלים לפי השלבים להגדרת אימות OAuth:
- כדי שמופע Looker יוכל לזהות בקשות OAuth, צריך להשתמש בתוסף API Explorer כדי לרשום את לקוח ה-JDBC OAuth במופע Looker. הוראות מפורטות זמינות במאמר בנושא רישום אפליקציית לקוח OAuth.
- נכנסים ל-Looker באמצעות OAuth כדי לבקש אסימון גישה. דוגמה מופיעה במאמר ביצוע כניסה של משתמש באמצעות OAuth.
- משתמשים באובייקט Properties כדי להעביר את פרטי הכניסה של OAuth כשפותחים את חיבור ה-JDBC לממשק Open SQL.
הנה דוגמה לשימוש ב-DriverManager#getConnection(<String>, <Properties>`):
String access_token = getAccessToken() //uses the Looker OAuth flow to get a token
String URL = "jdbc:looker:url=https://myInstance.cloud.looker.com"
Properties info = new Properties( );
info.put("token", access_token);
Connection conn = DriverManager.getConnection(URL, info);
יצירת אסימון גישה באמצעות מפתחות API
במקום להשתמש בתהליך OAuth הסטנדרטי ליצירת טוקן גישה, אפשר לבצע את השלבים הבאים כדי להשתמש ב-Looker API ליצירת טוקן גישה שאפשר להעביר לדרייבר JDBC של Open SQL Interface:
- יוצרים מפתחות API למשתמש Looker כמו שמתואר בדף הגדרות אדמין – משתמשים.
משתמשים בנקודת הקצה של
loginAPI למופע Looker. התשובה כוללת טוקן גישה בפורמטAuthorization: token <access_token>. זוהי דוגמה לפקודת curl שאפשר להשתמש בה כדי לשלוח את הבקשה הזו:curl -k -d "client_id=<client_id>&client_secret=<client_secret>" https://<looker_host>/login\מעבירים את הערך
<access_token>של התגובה כאסימון באובייקט Properties כדי להעביר את פרטי הכניסה של OAuth כשפותחים את חיבור ה-JDBC ל-Open SQL Interface.
מפתחות API
אפשר גם להשתמש במפתחות API לאימות במקום בשם משתמש ובסיסמה. מפתחות API נחשבים פחות מאובטחים מ-OAuth, ויכול להיות שהם יהיו זמינים רק במהלך התצוגה המקדימה של Open SQL Interface. במאמר מפתחות API מוסבר איך ליצור מפתחות API למופע Looker.
משתמשים בחלק Client ID של מפתח Looker API בתור שם המשתמש. משתמשים בחלק Client Secret (סוד הלקוח) בתור הסיסמה.
הרצת שאילתות באמצעות ממשק SQL פתוח
כשמריצים שאילתות באמצעות Open SQL Interface, חשוב לפעול לפי ההנחיות הבאות:
- ממשק Open SQL מקבל שאילתות SQL שתואמות לתחביר של GoogleSQL.
- בממשק Open SQL, צריך להוסיף גרשיים הפוכים (`) סביב מזהים של מודלים, של תכונות Explore ושל שדות. מידע נוסף ודוגמאות זמינים במאמר בנושא שימוש בגרשיים הפוכים סביב מזהים של מסדי נתונים.
- ממשק Open SQL תומך ברוב האופרטורים של BigQuery.
- בממשק Open SQL, צריך לציין את כל המדדים של LookML שנכללים בשאילתה באמצעות הפונקציה המיוחדת
AGGREGATE(). לשם כך, מקיפים את המדד (כולל התווים '`') בפונקציה. אפשר לעיין בקטע הגדרת מדדים של LookML באמצעותAGGREGATE().
מגבלות על SQL
כששולחים שאילתות לממשק Open SQL, חשוב לשים לב למגבלות הבאות של SQL:
- ממשק Open SQL תומך רק בשאילתות
SELECT. ממשק Open SQL לא תומך בהצהרותUPDATEו-DELETE, או בכל הצהרה אחרת של שפת הגדרת נתונים (DDL), שפת טיפול בנתונים (DML) או שפת בקרת נתונים (DCL). - ממשק Open SQL לא תומך באופרטור
JOIN.- אי אפשר לשלוח שאילתה עם האופרטור
JOINלממשק Open SQL כדי ליצור שאילתות איחוד (join) באותו Explore או בשני Explores שונים. - אם רוצים ליצור איחוד (join) בין שתי טבלאות במסד הנתונים, אפשר לעשות זאת במודל LookML על ידי יצירת איחודים (joins) לתצוגה אחת או יותר בהגדרת Explore בקובץ מודל בפרויקט של LookML.
- אי אפשר לשלוח שאילתה עם האופרטור
- ממשק Open SQL לא תומך בקריאות לפונקציות אנליטיות (window function).
- ממשק Open SQL לא תומך בשאילתות משנה.
- ממשק ה-SQL הפתוח לא תומך בהמרה של אזור זמן. לשדות התאריך והשעה במודל LookML יהיה הסוג
DATETIMEבאזור הזמן שמוגדר בהגדרות (אזור הזמן של המשתמש, אזור הזמן של האפליקציה או אזור הזמן של מסד הנתונים). - ממשק ה-SQL הפתוח לא תומך בסוגי הנתונים geography, JSON ו-time של BigQuery.
שימוש בגרשיים הפוכים סביב מזהי מסד נתונים
כששולחים שאילתות לממשק Open SQL, צריך להשתמש בגרש הפוך מסביב למזהים של סכימות, טבלאות ועמודות. כך מציינים רכיבים של מסד נתונים באמצעות גרשיים הפוכים עם מונחים של Looker:
- סכימה:
`<model_name>` - טבלה:
`<explore_name>` עמודה:
`<view_name>.<field_name>`
דוגמה לפורמט של הצהרת SELECT באמצעות הרכיבים האלה:
SELECT `view.field`
FROM `model`.`explore`
LIMIT 10;
ציון מדדים של LookML באמצעות AGGREGATE()
טבלאות של מסד נתונים מכילות בדרך כלל רק מאפיינים, נתונים שמתארים מאפיין יחיד לגבי שורה בטבלה. עם זאת, בפרויקטים של LookML אפשר להגדיר גם מאפיינים וגם מדדים. מדד הוא צבירה של נתונים בכמה שורות, כמו SUM, AVG, MIN או MAX. (יש תמיכה גם בסוגים אחרים של מדדים. ברשימה המלאה של סוגי המדדים שנתמכים ב-LookML אפשר לעיין בדף סוגי מדדים).
בממשק Open SQL, צריך לציין את כל המדדים של LookML שנכללים בשאילתה באמצעות הפונקציה המיוחדת AGGREGATE(). לשם כך, מקיפים את המדד (כולל התווים '`') בפונקציה. לדוגמה, אפשר להשתמש בזה כדי לציין את המדד count מהתצוגה orders:
AGGREGATE(`orders.count`)
צריך להשתמש בפונקציה AGGREGATE() כדי לעטוף מדדים של LookML, בין אם המדד נמצא בסעיף SELECT, בסעיף HAVING או בסעיף ORDER BY.
אם אתם לא בטוחים אם שדה מסוים הוא מדד LookML, אתם יכולים להשתמש בשיטה DatabaseMetaData.getColumns כדי לגשת למטא-נתונים של פרויקט LookML. בעמודה IS_GENERATEDCOLUMN יופיע YES לכל המדדים של LookML, ו-NO לכל המאפיינים של LookML. מידע נוסף זמין בקטע גישה למטא-נתונים של מסד נתונים.
ציון של שדות ופרמטרים של סינון בלבד באמצעות JSON_OBJECT
ממשק SQL פתוח תומך בפרמטרים ובשדות של סינון בלבד.
כשמריצים שאילתות באמצעות Open SQL Interface, אפשר להחיל על השאילתה פרמטרים ושדות סינון בלבד על ידי הכללת קריאה לבונה JSON_OBJECT בפורמט הבא:
JSON_OBJECT(
'<view>.<parameter name>', '<parameter value>',
'<view>.<filter name>', '<Looker filter expression>'
)
אובייקט ה-JSON יכול להכיל אפס או יותר צמדי מפתח-ערך של מסננים ואפס או יותר צמדי מפתח-ערך של פרמטרים.
- המפתח בקונסטרוקטור
JSON_OBJECTחייב להיות השם של שדה או פרמטר לסינון בלבד. - בשדות של סינון בלבד, הערך של כל מפתח צריך להיות ביטוי מסנן מסוג מחרוזת של Looker.
- בפרמטרים, הערך של כל מפתח חייב להיות ערך פשוט שמוגדר ב
parameterהגדרה.
בקטעים הבאים מופיעות דוגמאות לשימוש בפרמטרים ובשדות של סינון בלבד באמצעות Open SQL Interface.
דוגמה לפרמטר
לדוגמה, אם התצוגה customers כוללת פרמטר שהוגדר ב-Looker באופן הבא:parameter
parameter: segment {
type: string
allowed_value: {
label: "Small (less than 500)"
value: "small_customers"
}
allowed_value: {
label: "Larger (greater than 10,000)"
value: "large_customers"
}
allowed_value: {
label: "Medium customers (Between 500 and 10,000)"
value: "medium_customers"
}
}
אפשר לשלוח את השאילתה הזו לממשק Open SQL כדי להחיל על השאילתה את ערך הפרמטר segment של medium_customers:
SELECT `customers.segment_size`,
AGGREGATE(`orders.total_amount`)
FROM `ecommerce`.`orders`(JSON_OBJECT(
'customers.segment', 'medium_customers'
))
GROUP BY `customers.state`, `customers.city`
HAVING AGGREGATE(`orders.count`) > 10
ORDER BY 3 DESC LIMIT 5;
ממשק SQL פתוח יעביר את ערך הפרמטר הזה לשאילתה ב-Looker, ומערכת Looker תחיל את הערך medium_customers על כל השדות בכלי 'ניתוח נתונים' שהוגדרו לשימוש בפרמטר segment. במאמר parameter מוסבר איך פרמטרים פועלים ב-Looker.
דוגמה לשדה סינון בלבד
אפשר להשתמש בשדה filter עם Open SQL Interface. לדוגמה, אם בתצוגה מפורטת products הוגדרו ב-Looker מימד ושדה סינון בלבד באופן הבא:
filter: brand_select {
type: string
}
dimension: brand_comparitor {
sql:
CASE
WHEN {% condition brand_select %} ${products.brand_name} {% endcondition %}
THEN ${products.brand_name}
ELSE "All Other Brands"
END ;;
}
אפשר להשתמש במסנן brand_select עם Open SQL Interface על ידי שליחת שאילתה כמו זו שבהמשך:
SELECT `products.brand_comparator`, `products.number_of_brands`,
AGGREGATE(`products.total_revenue`)
FROM `ecommerce`.`orders`(JSON_OBJECT(
'products.brand_select', '%Santa Cruz%'
))
GROUP BY `products.brand_comparator`
ORDER BY 3 DESC LIMIT 5;
ממשק SQL פתוח יחיל את ביטוי הסינון של מחרוזת Looker %Santa Cruz% על השאילתה ב-Looker. במאמר בנושא filter מוסבר איך שדות של סינון בלבד פועלים ב-Looker.
צריך לספק ערכים של always_filter או conditionally_filter בפסוקית WHERE או HAVING
ממשק Open SQL יכול לתמוך בניתוח נתונים עם always_filter או conditionally_filter, אבל לא עם שניהם.
אם הגדרתם את ה-Explore של LookML באמצעות always_filter או conditionally_filter, אתם צריכים להעביר ערכים לשדות הסינון בשאילתת ה-SQL כדי לפתוח את ממשק ה-SQL.
- אם הגדרת המסנן מציינת מאפיין אחד או יותר, צריך לכלול פסקה
WHEREבשאילתת ה-SQL לכל אחד מהמאפיינים של המסנן. - אם בהגדרת המסנן מצוין מדד אחד או יותר, צריך לכלול פסקה
HAVINGבשאילתת ה-SQL לכל אחד ממדדי המסנן.
לדוגמה, יש מודל faa שבו הגדרתם ניתוח LookML flights עם פרמטר always_filter שמציין את המאפיינים country ו-aircraft_category ואת המדד count, באופן הבא:
explore: flights {
view_name: flights
always_filter: {
filters: [country : "Peru" , aircraft_category : "Airplane", count : ">1"]
}
}
בשאילתה לממשק Open SQL, עליך להשתמש בפסוקית WHERE כדי להעביר ערכים למאפייני המסנן ובפסוקית HAVING כדי להעביר ערך למסנן המדד למודל LookML, כמו בדוגמה הבאה:
SELECT
`flights.make`
FROM
`faa`.`flights`
WHERE `flights.country` = 'Ecuador' AND `flights.aircraft_category` = 'Airplane'
GROUP BY
1
HAVING `flights.count` > 2)
LIMIT 5
אם לא מעבירים ערכי מסננים לכל אחד מהמאפיינים והמדדים שצוינו בפרמטר always_filter, השאילתה תחזיר שגיאה. אותו עיקרון חל על מאפיינים ומדדים שצוינו בפרמטר conditionally_filter, אלא שאפשר להגדיר פרמטר conditionally_filter עם תת-פרמטר unless, כמו בדוגמה הבאה:
explore: flights {
view_name: flights
conditionally_filter: {
filters: [country : "Peru" , aircraft_category : "Airplane"]
unless: [count]
}
}
במקרה כזה, צריך להעביר ערך מסנן לכל אחד מהמאפיינים והמדדים שצוינו בתת-פרמטר filters של conditionally_filter, אלא אם מציינים מסנן בשדה בתת-פרמטר unless. (פרטים על השימוש בתת-פרמטר unless מופיעים בדף התיעוד של conditionally_filter).
לדוגמה, כל אחת מהשאילתות הבאות לממשק Open SQL תתקבל. השאילתה הראשונה מספקת ערכי מסנן לשדות שצוינו בפרמטר המשני filters, והשאילתה השנייה מספקת ערך מסנן לשדה שצוין בפרמטר המשני unless:
SELECT
`flights.make`
FROM
`faa`.`flights`
WHERE `flights.country` = 'Ecuador' AND `flights.aircraft_category` = 'Airplane'
LIMIT 5
SELECT
`flights.make`
FROM
`faa`.`flights`
GROUP BY
1
HAVING `flights.count` > 2
דוגמה
הנה דוגמה לשאילתה שמשתמשת גם במאפיינים וגם במדדים. השאילתה הזו מאחזרת את המאפיינים state ו-city מהתצוגה customers ואת המדד total amount מהתצוגה orders. שתי התצוגות האלה מצורפות לניתוח הזמנות במודל מסחר אלקטרוני. עבור הערים שבהן יש יותר מ-10 הזמנות, התשובה לשאילתה הזו מציגה את 5 הערים המובילות לפי סכום ההזמנה:
SELECT `customers.state`, `customers.city`,
AGGREGATE(`orders.total_amount`)
FROM `ecommerce`.`orders`
GROUP BY `customers.state`, `customers.city`
HAVING AGGREGATE(`orders.count`) > 10
ORDER BY 3 DESC LIMIT 5;
גישה למטא-נתונים של מסד נתונים
ממשק Open SQL תומך בקבוצת משנה של ממשק DatabaseMetaData של JDBC, שמשמש לקבלת מידע על מסד הנתונים הבסיסי. אתם יכולים להשתמש בשיטות הבאות של ממשק DatabaseMetaData כדי לקבל מידע על מודל LookML:
האפשרות 'פתיחת ממשק SQL' מחזירה תוצאות רק למודלים, לניתוחים ולשדות שיש לכם גישה אליהם.
DatabaseMetadata.getSchemas
בטבלה הבאה מוסבר איך מודל LookML קשור למבני מסד הנתונים הרגילים בתגובה של שיטת הממשק DatabaseMetadata.getSchemas.
עמודת תגובה אחת (getSchemas) |
תיאור |
|---|---|
TABLE_SCHEM |
שם המודל של LookML |
TABLE_CATALOG |
(null) |
DatabaseMetadata.getTables
בטבלה הבאה מוסבר איך מודל LookML קשור למבני מסד הנתונים בתגובה של שיטת הממשק DatabaseMetaData.getTables. התגובה כוללת מטא-נתונים סטנדרטיים של JDBC וגם מטא-נתונים ספציפיים ל-Looker:
עמודת תגובה אחת (getTables) |
תיאור |
|---|---|
| מטא-נתונים סטנדרטיים של JDBC | |
TABLE_CAT |
(null) |
TABLE_SCHEM |
שם המודל של LookML |
TABLE_NAME |
שם של LookML Explore |
TABLE_TYPE |
תמיד מחזירה את הערך TABLE_TYPE |
REMARKS |
(null) |
TYPE_CAT |
(null) |
TYPE_SCHEM |
(null) |
TYPE_NAME |
מחרוזת שמייצגת את סוג הטבלה. הסוגים האפשריים הם TABLE, VIEW, SYSTEM TABLE, GLOBAL TEMPORARY, LOCAL TEMPORARY, ALIAS ו-SYNONYM. |
SELF_REFERENCING_COL_NAME |
(null) |
REF_GENERATION |
(null) |
| מטא-נתונים ספציפיים ל-Looker | |
DESCRIPTION |
תיאור |
LABEL |
תווית |
TAGS |
תגים |
CONDITIONALLY_FILTER_UNLESS |
רשימת השדות בפרמטר המשנה unless של הפרמטר conditionally_filter של כלי הניתוחים. אם לא צוינו שדות בפרמטר המשנה unless, או אם לא הוגדר פרמטר conditionally_filter לדוח, הערך הזה הוא null. |
DatabaseMetadata.getColumns
בטבלה הבאה מוסבר איך מודל LookML קשור למבני מסד הנתונים בתגובה של שיטת הממשק DatabaseMetaData.getColumns. התגובה כוללת מטא-נתונים סטנדרטיים של JDBC וגם מטא-נתונים ספציפיים ל-Looker:
עמודת תגובה אחת (getColumns) |
תיאור |
|---|---|
| מטא-נתונים סטנדרטיים של JDBC | |
TABLE_CAT |
(null) |
TABLE_SCHEM |
שם המודל של LookML |
TABLE_NAME |
שם הניתוח ב-LookML |
COLUMN_NAME |
שם השדה ב-LookML בפורמט `<view_name>.<field_name>`. לדוגמה, `orders.amount`. |
DATA_TYPE |
קוד java.sql.Types של העמודה. לדוגמה, שדות של Looker yesno הם קוד מסוג SQL 16 (BOOLEAN). |
TYPE_NAME |
מחרוזת שמייצגת את סוג הנתונים של העמודה. עבור סוג שהמשתמש מגדיר (UDT), שם הסוג מוגדר במלואו. |
COLUMN_SIZE |
מספר שלם שמייצג את המספר המקסימלי של תווים או בייטים שאפשר לאחסן בעמודה. |
BUFFER_LENGTH |
(null) |
DECIMAL_DIGITS |
מספר שלם שמייצג את קנה המידה של הנתונים: מספר הספרות משמאל לנקודה העשרונית, עבור סוגי נתונים רלוונטיים, או מספר הספרות השבריות. הערך Null מוחזר עבור סוגי נתונים שבהם DECIMAL_DIGITS לא רלוונטי. |
NUM_PREC_RADIX |
מספר שלם שמייצג את הבסיס או את radix (בדרך כלל 10 או 2) של הנתונים. |
NULLABLE |
מספר שלם שמציין אם מותרים ערכי null:
|
REMARKS |
(null) |
COLUMN_DEF |
(null) |
SQL_DATA_TYPE |
(null) |
SQL_DATETIME_SUB |
(null) |
CHAR_OCTET_LENGTH |
לסוגי נתונים של תווים, מספר שלם שמייצג את המספר המקסימלי של בייטים בעמודה. |
ORDINAL_POSITION |
המספר הסידורי של השדה ב-Explore (ערך מבוסס-1), לפי סדר אלפביתי של שם התצוגה ואז שם השדה (שילוב של מאפיינים ומדדים) |
IS_NULLABLE |
תמיד מחזירה את הערך YES |
SCOPE_CATALOG |
(null) |
SCOPE_SCHEMA |
(null) |
SCOPE_TABLE |
(null) |
SOURCE_DATA_TYPE |
(null) |
IS_AUTOINCREMENT |
(null) |
IS_GENERATEDCOLUMN |
YES למדדים, NO למאפיינים |
| מטא-נתונים ספציפיים ל-Looker | |
DIMENSION_GROUP |
השם של קבוצת המאפיינים אם השדה הוא חלק מקבוצת מאפיינים. אם השדה לא שייך לקבוצת מאפיינים, הערך הזה הוא null. |
DRILL_FIELDS |
רשימה של שדות פירוט שהוגדרו למאפיין או למדד, אם יש כאלה |
FIELD_ALIAS |
כינוי לשדה, אם יש |
FIELD_CATEGORY |
האם השדה הוא dimension או measure |
FIELD_DESCRIPTION |
השדה description |
FIELD_GROUP_VARIANT |
אם השדה מוצג מתחת לתווית קבוצת שדות, התו FIELD_GROUP_VARIANT יציין את השם הקצר יותר של השדה שמוצג מתחת לתווית הקבוצה. |
FIELD_LABEL |
השדה label |
FIELD_NAME |
שם המאפיין או המדד |
LOOKER_TYPE |
סוג השדה LookML של המאפיין או המדד |
REQUIRES_REFRESH_ON_SORT |
האם צריך לרענן את שאילתת ה-SQL כדי למיין מחדש את הערכים בשדה (TRUE), או שאפשר למיין מחדש את הערכים בשדה בלי לרענן את שאילתת ה-SQL (FALSE). |
SORTABLE |
האם אפשר למיין את השדה (TRUE) או אי אפשר למיין אותו (FALSE) |
TAGS |
השדה tags |
USE_STRICT_VALUE_FORMAT |
האם השדה משתמש בפורמט ערך מדויק (TRUE) או לא (FALSE) |
VALUE_FORMAT |
מחרוזת Value format בשדה |
VIEW_LABEL |
הצגת התווית של השדה |
VIEW_NAME |
השם של התצוגה המפורטת שבה השדה מוגדר בפרויקט של LookML |
HIDDEN |
האם השדה מוסתר בבורר השדות ב-Explore (TRUE), או שהשדה גלוי בבורר השדות ב-Explore (FALSE). |
ALWAYS_FILTER |
ערך ברירת המחדל של הפרמטר always_filter שמוגדר בשדה. אם השדה לא שייך לפרמטר always_filter, הערך שלו הוא null. |
CONDITIONALLY_FILTER |
ערך ברירת המחדל של הפרמטר conditionally_filter שמוגדר בשדה. אם השדה לא שייך לפרמטר conditionally_filter, הערך שלו הוא null. |
זיהוי שאילתות של Open SQL Interface בממשק המשתמש של Looker
אדמינים ב-Looker יכולים להשתמש בממשק המשתמש של Looker כדי לזהות אילו שאילתות מקורן בממשק SQL הפתוח:
- בדף הניהול Queries, השאילתות מממשק ה-SQL הפתוח מקבלות את הערך SQL Interface בSource. הערך User יציג את השם של משתמש Looker שהריץ את השאילתה. כדי להציג מידע נוסף על שאילתה, אפשר ללחוץ על הכפתור פרטים. בתיבת הדו-שיח פרטים, אפשר ללחוץ על שאילתת ממשק SQL כדי לראות את שאילתת ה-SQL שנשלחה אל Looker מממשק ה-SQL הפתוח.
בניתוח של היסטוריית פעילות המערכת, לשאילתות מממשק SQL הפתוח יש ערך מקור של sql_interface. הערך של User Email יציג את כתובת האימייל של משתמש Looker שהריץ את השאילתה. אפשר לעבור ישירות להיסטוריה ולסנן לפי sql_interface על ידי הוספת כתובת מופע Looker לתחילת כתובת ה-URL הזו:
https://Looker instance URL/explore/system__activity/history?fields=history.source,history.completed_date&f[history.source]=%22sql_interface%22
מאגר תלויות של צד שלישי
הקישור הבא מספק גישה למאגר שמתארח ב-Google לתלות של צד שלישי שמשמשת את מנהל ההתקנים של Looker JDBC:
https://third-party-mirror.googlesource.com/looker_sql_interface/+/refs/heads/master/third_party/