מנהלי התקנים של 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
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 לא ארוזים

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

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

    mkdir custom_jdbc_drivers
    
  3. בספרייה custom_jdbc_drivers, יוצרים ספריית משנה ששמה הוא הסמל של הנהג של הניב. בדוגמה הזו נשתמש בערך הכללי 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