共用方式為


Databricks JDBC 驅動程式的驅動程式功能設定 (Simba)

備註

本頁適用於 Databricks JDBC 驅動程式版本低於版本 3。 關於 Databricks JDBC 驅動程式版本 3 及以上,請參見 Databricks JDBC 驅動程式

本頁說明如何為 Databricks JDBC 驅動程式設定特殊及進階驅動程式能力設定。

Databricks JDBC 驅動程式提供以下特殊和高級驅動程式功能設置。

JDBC 中的 ANSI SQL-92 查詢支援

舊有的 Spark JDBC 驅動程式接受 ANSI SQL-92 方言的 SQL 查詢,並在傳送至伺服器前將其轉換成 Databricks SQL 查詢。

如果你的應用程式直接產生 Databricks SQL,或使用 Azure Databricks 特有的非標準 SQL-92 語法,請在連線設定中設定 UseNativeQuery=1 。 此設定會將 SQL 查詢逐字傳送至 Azure Databricks,且不需轉換。

預設目錄和架構

若要指定預設目錄和架構,請將 ConnCatalog=<catalog-name>;ConnSchema=<schema-name> 新增至 JDBC 連線 URL。

查詢追蹤標籤

這很重要

這項功能處於個人預覽版狀態。 若要要求存取權,請聯絡您的客戶團隊。

在您的 SQL 查詢中附加鍵值標籤,以便追蹤和分析。 查詢標籤會出現在表格中 system.query.history ,以進行查詢識別和分析。

若要將查詢標籤新增至連線,請在 JDBC 連線 URL 中包含參數 ssp_query_tags

jdbc:databricks://<server-hostname>:443;httpPath=<http-path>;ssp_query_tags=key1:value1,key2:value2

將查詢標籤定義為逗號分隔的鍵值對,每個鍵與值之間以冒號分隔。 例如: key1:value1,key2:value2

在 JDBC 中提取大型查詢結果

要在提取大型查詢結果時獲得最佳性能,請使用最新版本的 JDBC 驅動程式,其中包括以下優化。

JDBC 中的 Arrow 序列化

JDBC 驅動程式版本 2.6.16 及更高版本支援使用 Apache Arrow 的優化查詢結果序列化格式。

JDBC 中的 Cloud Fetch

JDBC 驅動程式版本 2.6.19 及以上支援 Cloud Fetch,這項功能可透過您在 Azure Databricks 部署中設定的雲端儲存擷取查詢結果。

當你執行查詢時,Azure Databricks 會將結果以 Arrow 序列化的檔案上傳到內部 DBFS 儲存位置 ,容量最高可達 20 MB。 查詢完成後,驅動程式會發送擷取請求,Azure Databricks 會回傳上傳檔案的 共享存取簽章 。 驅動程式接著利用這些網址直接從 DBFS 下載結果。

Cloud Fetch 只適用於查詢結果超過 1 MB。 驅動程式會直接從 Azure Databricks 取得較小的結果。

Azure Databricks 會自動垃圾回收累積的檔案,24 小時後標記刪除,並於額外 24 小時後永久刪除。

如需詳細瞭解 Cloud Fetch 架構,請參閱 我們如何使用 BI 工具實現高頻寬連接

啟用日誌記錄

要啟用 JDBC 驅動程式的日誌,請將LogLevel屬性設為介於1(僅嚴重事件)與6(所有驅動程式活動)之間的值。 把屬性設定 LogPath 成你想儲存日誌檔案資料夾的完整路徑。

更多資訊請參閱 Databricks JDBC 驅動程式指南中的 「設定日誌 」。