הגדרת 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 | |
| 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+ | |
| 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 | |
| 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 הנדרש.
- סמל הדרייבר עבור הדיאלקט שלכם. סמל הדרייבר הוא ערך מחרוזת שמשמש את Looker באופן פנימי כדי להתאים את הדיאלקט לדרייבר. בדוגמאות שבדף הזה נעשה שימוש בערך הגנרי
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
כשכותבים את רשומת הדרייבר לדיאלקט שלכם:
- הקובץ
custom_jdbc_config.ymlמבוסס על YAML, ולכן יש חשיבות להזחה ולרווחים. - המאפיינים
nameו-dir_nameצריכים להיות הסמל של הדרייבר שמשמש את Looker לדיאלקט שלכם כשרושמים דרייברים של 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 ששונה מפרוטוקול המשנה של כתובת ה-URL שמוגדר כברירת מחדל ב-Looker. ברוב המקרים, אין צורך בכך, אלא אם במסמכי התיעוד של הדיאלקט מצוין במפורש שצריך לעשות זאת. MongoBI הוא דוגמה לדיאלקט שבו נדרשת האפשרות הזו.
התקנה של מנהלי התקנים של JDBC שלא נארזו
עוברים לספריית הבסיס של אפליקציית Looker. בדוגמה הזו,
lookerהיא ספריית הבסיס.cd lookerיוצרים ספרייה בשם
custom_jdbc_drivers. זוהי הספרייה ברמה העליונה לכל ההתקנות של מנהלי התקנים של JDBC שלא נארזו. הנתיב לספרייה הזו צריך להיותlooker/custom_jdbc_driversmkdir custom_jdbc_driversבספרייה
custom_jdbc_drivers, יוצרים ספריית משנה ששמה הוא הסמל של ה-driver של הניב. בדוגמה הזו נשתמש בערך הגנרי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