מנהלי התקנים של JDBC שלא נארזו

הגדרת 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 שלא נארזו

  1. עוברים לספריית הבסיס של אפליקציית Looker. בדוגמה הזו, looker היא ספריית הבסיס.

    cd looker
    
  2. יוצרים ספרייה בשם custom_jdbc_drivers. זוהי הספרייה ברמה העליונה לכל ההתקנות של מנהלי התקנים של JDBC שלא נארזו. הנתיב לספרייה הזו צריך להיות looker/custom_jdbc_drivers

    mkdir custom_jdbc_drivers
    
  3. בספרייה custom_jdbc_drivers, יוצרים ספריית משנה ששמה הוא הסמל של ה-driver של הניב. בדוגמה הזו נשתמש בערך הגנרי driver_symbol. הנתיב שמתקבל לספרייה ייראה כך: looker/custom_jdbc_drivers/driver_symbol

    cd custom_jdbc_drivers
    mkdir driver_symbol
    

  4. ממקמים את קובצי מנהל ההתקן של JDBC עבור הניב בספרייה הזו. השיטה לכך תלויה במיקום של מנהל ההתקן של הניב ובאפשרות להעלות אותו לשרת, אבל חשוב לוודא שקובצי ה-JAR הרלוונטיים נמצאים בתיקייה driver_symbol: looker/custom_jdbc_drivers/driver_symbol/

    לדוגמה: looker/custom_jdbc_drivers/driver_symbol/DialectDriver.jar

    האופן שבו מעבירים את הקבצים הדרושים לשרת Looker משתנה בהתאם למקום שממנו מקבלים את קובצי הדרייבר ולהעדפות שלכם לגבי העברת קבצים. דוגמאות לפקודות להעברת קבצים לספרייה הזו כוללות את wget, scp ו-curl.

  5. משנים את הספרייה לספריית האפליקציה Looker ויוצרים קובץ הגדרות בשם custom_jdbc_config.yml. הנתיב לקובץ הזה צריך להיות looker/custom_jdbc_config.yml. הקובץ הזה יכיל את המידע ש-Looker צריך כדי לאתר ולרשום את מנהל התקן ה-JDBC המותאם אישית.

    cd looker
    vim custom_jdbc_config.yml
    
  6. מוסיפים רשומה חדשה לניב בקובץ ההגדרות custom_jdbc_config.yml. בקטע רשומות של מנהלי התקנים בקובץ ההגדרות של YAML בדף הזה יש מידע על רשומות של מנהלי התקנים.

    - name: driver_symbol
      dir_name: driver_symbol
      module_path: com.dialect.jdbc.DialectDriver
    
  7. יוצרים או מעדכנים את הקובץ 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" כך שהערכים הקיימים יורחבו בקובץ הזה.

  8. מפעילים מחדש את אפליקציית 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