הגדרת Looker לשימוש בדרייברים של JDBC שלא נארזו
במקרה של חלק מהדיאלקטים הנתמכים של Looker, אי אפשר לארוז את מנהל ההתקן של JDBC בקובץ JAR של Looker מסיבות שקשורות לרישוי. במקרים כאלה, צריך להתקין את מנהל ההתקן של JDBC בשרת Looker, ואז להגדיר את Looker כך שירשום את מנהל ההתקן שלא נארז, כמו שמתואר בדף הזה.
בכל הניבים שבהם הערך הוא 'לא' בעמודה 'נתמך?', צריך להתקין מנהלי התקנים של JDBC שלא נארזו:
| דיאלקט | נתמך? |
|---|---|
| Actian Avalanche | |
| Amazon Athena | |
| Amazon Aurora MySQL | |
| Amazon Redshift | |
| Amazon Redshift 2.1+ | |
| Amazon Redshift Serverless 2.1+ | |
| Apache Druid | |
| Apache Druid 0.13.x - 0.17.x | |
| Apache Druid 0.18+ | |
| Apache Hive 2.3+ | |
| Apache Hive 3.1.2+ | |
| Apache Spark 3+ | |
| ClickHouse | |
| ClickHouse 26+ | |
| Cloudera Impala 3.1+ | |
| Cloudera Impala 3.1+ with Native Driver | |
| Cloudera Impala with Native Driver | |
| DataVirtuality | |
| Databricks | |
| Denodo 7 | |
| Denodo 8 & 9 | |
| Dremio | |
| Dremio 11+ | |
| Dremio 26+ with Arrow Flight SQL | |
| Exasol | |
| Google BigQuery Legacy SQL | |
| Google BigQuery Standard SQL | |
| Google Cloud AlloyDB for PostgreSQL | |
| Google Cloud PostgreSQL | |
| Google Cloud SQL | |
| Google Spanner | |
| Greenplum | |
| HyperSQL | |
| IBM Netezza | |
| MariaDB | |
| Microsoft Azure PostgreSQL | |
| Microsoft Azure SQL Database | |
| Microsoft Azure Synapse Analytics | |
| Microsoft SQL Server 2008+ | |
| Microsoft SQL Server 2012+ | |
| Microsoft SQL Server 2016 | |
| Microsoft SQL Server 2017+ | |
| MongoBI | |
| MongoSQL | |
| MySQL | |
| MySQL 8.0.12+ | |
| Oracle | |
| Oracle ADWC | |
| PostgreSQL 9.5+ | |
| PostgreSQL pre-9.5 | |
| PrestoDB | |
| PrestoSQL | |
| SAP HANA | |
| SAP HANA 2+ | |
| SingleStore | |
| SingleStore 7+ | |
| Snowflake | |
| Teradata | |
| Trino | |
| Vector | |
| Vertica |
דרישות מוקדמות
כדי לחבר את Looker למסד נתונים שנדרש בו מנהל התקן JDBC לא ארוז, תצטרכו את הדברים הבאים:
- גישה לשורת הפקודה בשרת Looker.
- מנהל ההתקן של JDBC כקובץ JAR. יכול להיות שבתיעוד הספציפי של הניב יש הוראות להורדת הקובץ הזה. אם לא, נניח שיש לכם גישה לקובץ ה-JAR הנדרש.
- הסמל של הנהג בניב שלכם. סמל ה-driver הוא ערך מחרוזת ש-Looker משתמש בו באופן פנימי כדי להתאים את הניב ל-driver. בדוגמאות שבדף הזה נעשה שימוש בערך הכללי
driver_symbol. במאמרי העזרה של Looker אפשר למצוא את הסמלים שבהם Looker משתמש כדי לרשום מנהלי התקנים של JDBC לניבים. - רשומת ה-driver ב-YAML של הדיאלקט שבחרתם, שצריך להוסיף לקובץ התצורה
custom_jdbc_config.yml. מידע נוסף מופיע בקטע רשומות של מנהלי התקנים בקובץ התצורה של YAML בדף הזה.
רשומות של מנהלי התקנים בקובץ התצורה בפורמט YAML
דוגמה לערך של מנהל התקן בקובץ custom_jdbc_config.yml:
- name: driver_symbol
dir_name: driver_symbol
module_path: com.dialect.jdbc.DialectDriver
override_jdbc_url_subprotocol: driver_subprotocol # optional
כשכותבים את רשומת ה-driver לניב שלכם:
- הקובץ
custom_jdbc_config.ymlמבוסס על YAML, ולכן יש חשיבות להזחה ולרווחים. - המאפיינים
nameו-dir_nameצריכים להיות סמל ה-driver ש-Looker משתמש בו עבור הניב שלכם כשרושמים drivers של JDBC. - אפשר להשתמש במאפיין
file_nameבמקום במאפייןdir_name, שמכיל את הנתיב היחסי מ-custom_jdbc_driversלקובץ ה-JAR של מנהל ההתקן של JDBC. מומלץ להשתמש ב-dir_nameכי הוא מאפשר לבודד כמה דרייברים לספריות שלהם ומקטין את הסיכוי להתנגשות בין מחלקות Java. - המאפיין
module_pathיהיה תלוי במנהל ההתקן הספציפי של JDBC. הערך צריך להיות הנתיב המלא למחלקה של מנהל התקן ב-Java. בדוגמה הזו נעשה שימוש בערך כללי, אבל כדי למצוא אתmodule_pathהספציפי שבו הנהג משתמש, צריך לעיין במסמכים שלו כדי להבין איך לרשום את מחלקת הנהג. -
override_jdbc_url_subprotocolהוא ארגומנט אופציונלי שמשמש לביטול פרוטוקול המשנה שמשמש במחרוזת JDBC ש-Looker שולח למסד הנתונים. מחרוזת JDBC טיפוסית תיראה כך:
jdbc:mysql://localhost:3306/database_name[?propertyName1][=propertyValue1]
כאשר mysql הוא פרוטוקול המשנה של JDBC שנמצא בשימוש.
אם מציינים override_jdbc_url_subprotocol: driver_subprotocol, מחרוזת ה-JDBC הזו תהפוך ל:
jdbc:driver_subprotocol://localhost:3306/database_name[?propertyName1][=propertyValue1]
האפשרות הזו נדרשת אם אתם צריכים להשתמש במנהל התקן של JDBC שלא נכלל בחבילה ונדרש בו פרוטוקול משנה של כתובת URL ששונה מפרוטוקול המשנה שמוגדר כברירת מחדל ב-Looker. ברוב המקרים, אין צורך בכך, אלא אם במסמכי התיעוד של הניב מצוין במפורש שצריך לעשות זאת. MongoBI היא דוגמה לניב שבו נדרשת האפשרות הזו.
התקנה של מנהלי התקנים של JDBC לא ארוזים
עוברים לספריית הבסיס של אפליקציית Looker. בדוגמה הזו נשתמש ב-
lookerכספריית הבסיס.cd lookerיוצרים ספרייה בשם
custom_jdbc_drivers. זוהי ספריית הרמה העליונה לכל ההתקנות של מנהלי התקנים של JDBC שלא נארזו. הנתיב לספרייה הזו צריך להיותlooker/custom_jdbc_driversmkdir custom_jdbc_driversבספרייה
custom_jdbc_drivers, יוצרים ספריית משנה ששמה הוא הסמל של הנהג של הניב. בדוגמה הזו נשתמש בערך הכלליdriver_symbol. הנתיב שמתקבל לספרייה ייראה כך:looker/custom_jdbc_drivers/driver_symbolcd custom_jdbc_drivers mkdir driver_symbolממקמים את קובצי מנהל ההתקן של JDBC עבור הניב שלכם בספרייה הזו. השיטה תלויה במיקום של מנהל ההתקן של הניב ובאפשרות להעלות אותו לשרת, אבל חשוב לוודא שקובצי ה-JAR הרלוונטיים נמצאים בספרייה
driver_symbol:looker/custom_jdbc_drivers/driver_symbol/לדוגמה:
looker/custom_jdbc_drivers/driver_symbol/DialectDriver.jarהאופן שבו מעבירים את הקבצים הדרושים לשרת Looker משתנה בהתאם למקום שממנו מקבלים את קובצי הדרייבר וההעדפה שלכם להעברת קבצים. דוגמאות לפקודות להעברת קבצים לספרייה הזו כוללות את
wget,scpו-curl.משנים את הספרייה לספרייה של אפליקציית Looker ויוצרים קובץ תצורה בשם
custom_jdbc_config.yml. הנתיב לקובץ הזה צריך להיותlooker/custom_jdbc_config.yml. הקובץ הזה יכיל את המידע ש-Looker צריך כדי לאתר ולרשום את מנהל ההתקן של JDBC בהתאמה אישית.cd looker vim custom_jdbc_config.ymlמוסיפים רשומה חדשה לניב בקובץ התצורה
custom_jdbc_config.yml. מידע על רשומות של מנהלי התקנים מופיע בקטע רשומות של מנהלי התקנים בקובץ התצורה של YAML בדף הזה.- name: driver_symbol dir_name: driver_symbol module_path: com.dialect.jdbc.DialectDriverיוצרים או מעדכנים את הקובץ
lookerstart.cfgכך שאפליקציית Looker תופעל עם ההגדרה של מנהל התקן JDBC לא ארוז. הנתיב לקובץ הזה צריך להיותlooker/lookerstart.cfg. מוסיפים את האפשרות--use-custom-jdbc-config. אם יש אפשרויות אחרות, מוסיפים אותן לסוף אפשרויות ההפעלה של Looker:LOOKERARGS="--use-custom-jdbc-config"אם הגדרתם את
LOOKERARGSבמקום אחר ולא ב-lookerstart.cfg, למשל במשתנה סביבה, אתם יכולים להוסיף את דגל ההפעלה הזה שם. אפשר גם להגדיר אתLOOKERARGS="${LOOKERARGS} --use-custom-jdbc-config"כך שהערכים הקיימים יורחבו בקובץ הזה.מפעילים מחדש את אפליקציית Looker. בפקודה הזו, משתמשים בשם של סקריפט ההפעלה של Looker, כמו
./lookerאו./looker.sh./looker restartאו
none ./looker stop ./looker start
כמה מנהלי התקנים של JDBC שלא נארזו
אם אתם צריכים להגדיר יותר מניב אחד לשימוש במנהלי התקנים של JDBC שלא נארזו, התהליך שמתואר בקטע התקנה של מנהלי התקנים של JDBC שלא נארזו עדיין רלוונטי. בספרייה custom_jdbc_drivers יהיו כמה ספריות משנה dialect עם קובצי JAR של מנהלי התקנים משלהן, ובקובץ custom_jdbc_config.yml יהיו כמה רשומות:
ls looker/custom_jdbc_drivers
driver_symbol_1 driver_symbol_2
ls looker/custom_jdbc_drivers/driver_symbol_1
Dialect1Driver.jar
- name: driver_symbol_1
dir_name: driver_symbol_1
module_path: com.dialect.jdbc.Dialect1Driver
- name: driver_symbol_2
dir_name: driver_symbol_2
module_path: com.dialect.jdbc.Dialect2Driver