Freigeben über


Einstellungen für Treiberfunktionen für den Databricks JDBC-Treiber

In diesem Artikel wird beschrieben, wie Sie spezielle und erweiterte Einstellungen für Treiberfunktionen für den Databricks JDBC-Treiber konfigurieren.

Der Databricks JDBC-Treiber stellt die folgenden speziellen und erweiterten Einstellungen für Treiberfunktionen bereit.

Unterstützung für ANSI SQL-92-Abfragen in JDBC

Spark-JDBC-Legacy-Treiber akzeptieren SQL-Abfragen im ANSI SQL-92-Dialekt und übersetzen die Abfragen in den Databricks SQL-Dialekt, bevor sie an den Server gesendet werden. Generiert Ihre Anwendung jedoch direkt die SQL-Syntax von Databricks oder verwendet Ihre Anwendung eine andere SQL-Standardsyntax, die für Azure Databricks spezifisch ist (nicht ANSI SQL-92), wird von Databricks empfohlen, UseNativeQuery=1 als Verbindungskonfiguration festzulegen. Mit dieser Einstellung übergibt der Treiber die SQL-Abfragen im Wortlaut an Azure Databricks.

Standardkatalog und -schema

Um den Standardkatalog und das Standardschema anzugeben, fügen Sie der JDBC-Verbindungs-URL ConnCatalog=<catalog-name>;ConnSchema=<schema-name> hinzu.

Extrahieren umfangreicher Abfrageergebnisse in JDBC

Verwenden Sie die neueste Version des JDBC-Treibers mit den folgenden Optimierungen, um beim Extrahieren umfangreicher Abfrageergebnisse die beste Leistung zu erzielen.

Arrow-Serialisierung in JDBC

Ab Version 2.6.16 unterstützt der JDBC-Treiber ein optimiertes Serialisierungsformat für Abfrageergebnisse, das Apache Arrow verwendet.

Cloud Fetch in JDBC

Ab Version 2.6.19 unterstützt der JDBC-Treiber Cloud Fetch, eine Funktion zum Abrufen von Abfrageergebnissen über den Cloudspeicher, der in Ihrer Azure Databricks-Bereitstellung eingerichtet ist.

Die Abfrageergebnisse werden als in Arrow serialisierte Dateien bis zu einer Größe von 20 MB an einen internen DBFS-Speicherort hochgeladen. Sendet der Treiber nach Abschluss der Abfrage Abrufanforderungen, generiert Azure Databricks Shared Access Signatures und gibt diese an die hochgeladenen Dateien zurück. Der JDBC-Treiber verwendet dann die URLs, um die Ergebnisse direkt aus DBFS herunterzuladen.

Cloud Fetch wird nur für Abfrageergebnisse größer als 1 MB verwendet. Weniger umfangreiche Ergebnisse werden direkt aus Azure Databricks abgerufen.

Azure Databricks sammelt die kumulierten Dateien für die automatische Speicherbereinigung und markiert sie zur Löschung nach 24 Stunden. Nach weiteren 24 Stunden werden die markierten Dateien vollständig gelöscht.

Weitere Informationen zur Cloud Fetch-Architektur finden Sie unter How We Achieved High-bandwidth Connectivity With BI Tools (Erreichen von Konnektivität mit hoher Bandbreite mithilfe von BI-Tools).

Aktivieren der Protokollierung

Um die Protokollierung im JDBC-Treiber zu aktivieren, legen Sie die LogLevel-Eigenschaft auf einen Wert zwischen 1 (nur schwerwiegende Ereignisse protokollieren) und 6 (alle Treiberaktivitäten protokollieren) fest. Legen Sie die LogPath-Eigenschaft auf den vollständigen Pfad zu dem Ordner fest, in dem Protokolldateien gespeichert werden sollen.

Weitere Informationen finden Sie im Configuring Logging-Abschnitt im Leitfaden zum JDBC-Treiber.