Databricks ODBC 驅動程式的驅動程式功能設定

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

Databricks ODBC 驅動程式提供下列特殊和進階的驅動程式功能設定。

在 ODBC 中設定初始結構描述

ODBC 驅動程式允許您透過將 Schema=<schema-name> 設定為連線組態,以指定結構描述。 這相當於執行 USE <schema-name>

查詢追蹤標籤

這很重要

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

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

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

將查詢標籤定義為逗號分隔的鍵值對,每個鍵與值之間以冒號分隔。 例如: ssp_query_tags=team:engineering,env:prod

ODBC 中的 ANSI SQL-92 查詢支援

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

如果你的應用程式直接產生 Databricks SQL,或使用非 ANSI 的 SQL-92 語法Azure Databricks,請在連線設定中設定 UseNativeQuery=1。 此設定會將 SQL 查詢逐字傳遞給 Azure Databricks,且不進行轉換。

在 ODBC 中擷取大型查詢結果

為了在擷取大型查詢結果時達到最佳效能,請使用最新版的 ODBC 驅動程式,其中包含以下優化。

ODBC 中的箭號串行化

ODBC 驅動程式 2.6.15 版和更新版本支援使用 Apache Arrow 的優化查詢結果串行化格式。

ODBC 中的雲端擷取

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

當你執行查詢時,Azure Databricks 會將結果以 Arrow 序列化檔案的形式儲存在你工作空間的雲端儲存空間中,容量最高可達 20 MB。 查詢完成後,驅動程式會發送擷取請求,Azure Databricks會回傳共享存取簽章(SAS)網址至結果檔案。 驅動程式接著會利用這些網址直接從 Azure 儲存裝置下載結果。

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

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

網路必要條件

如果您的網路是私人的,您必須設定以下設定,Cloud Fetch 才能正常運作:

  • 允許 *.blob.core.windows.net 並在 *.store.core.windows.net 你的網路環境中。
  • 將所需的 憑證下載與撤銷 資料加入您的允許清單。
  • 如果您的Azure Databricks工作空間儲存帳號啟用防火牆支援,請設定 虛擬網路資料閘道本地資料閘道器以允許私人存取儲存帳號。

要停用 Cloud Fetch,請在連線設定中設定 EnableQueryResultDownload=0

診斷下載緩慢

設定 LogLevel4 (INFO) 並 LogPath 進入日誌資料夾的完整路徑,可以看到 Cloud Fetch 的下載速度指標。 驅動程式會記錄每個區塊的下載速度,因此大型結果集會產生多條日誌行。 當速度低於約 1 MB/s 時,駕駛也會記錄警告。 此功能可在 2025 年 11 月後發布的 ODBC 驅動版本中提供。

若下載緩慢或停滯,SAS 憑證可能在驅動程式下載完所有結果檔案前即過期。 檢查用戶端與 Azure Blob 儲存體 之間是否有頻寬限速或網路擁塞。

啟用 記錄

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

欲了解更多資訊,請參閱 Databricks ODBC 驅動程式指南中的 Configuring Logging Options in a Non-Windows machine