無伺服器計算發行說明

本文說明筆記簿和任務目前可使用及未來即將推出的無伺服器計算功能與行為。

如需無伺服器計算的詳細資訊,請參閱 連線到無伺服器計算。

Azure Databricks 會定期發行無伺服器計算的更新,自動升級無伺服器計算運行時間,以支持增強功能和升級至平臺。 所有用戶都會獲得相同的更新,並在短時間內陸續推出。

無伺服器環境版本

筆記本和作業的無伺服器計算會使用環境版本,此版本提供基於 Spark Connect 的穩定用戶端 API,以確保應用程式相容性。 這可讓 Databricks 獨立升級伺服器、提供效能改善、安全性增強功能,以及錯誤修正,而不需要對工作負載進行任何程式代碼變更。

每個環境版本都包含特定的 Python 版本,以及一組具有已定義版本的 Python 套件。 Databricks 引進了新功能和修正,並在最新的環境版本中引入這些改進,同時將安全更新套用至所有支援的環境版本。

關於無伺服器環境版本的釋出說明,請參見環境版本。

發布說明

本段包含無伺服器運算的發行說明。 版本資訊是按照年份和年度周來組織的。 無伺服器計算一律會使用此處所列的最新發行版本執行。

2026 年 9 月 21 日

2026 年 9 月 21 日

此無伺服器運算版本包含來自 Databricks Runtime 19 的更新。

新功能

  • truncate 功能:該 truncate 函數將數字截斷到指定的刻度,且不進行四捨五入。

  • trim_array 函式:trim_array 函式從陣列末端移除指定數量的元素。

2026 年 8 月 31 日

2026年8月31日

此無伺服器運算版本包含來自 Databricks Runtime 19 的更新。

新功能

  • 自動變更資料饋送通常提供:自動變更資料饋送(Auto CDF)在查詢時利用列追蹤計算列級變更,無需你在每個 Delta Lake 或 Apache Iceberg v3 表格上手動啟用變更資料饋送。 自動 CDF 可以消除寫入時間的額外負擔,通常可讓在您用來查詢變更的資料表上執行的 UPDATE 和 MERGE 作業速度提升約 15%。 它可搭配批次查詢、結構化串流和 Delta 共享運作,並需要列追蹤。 請參見 自動變更資料串流。

  • parse_sql function:parse_sql 函式解析 SQL 陳述式,並回傳包含語句中繼資料、表格參考、select-list 表達式或解析器錯誤資訊的結構化 JSON 訊息。

行為變更

  • from_protobuf 啟用結構描述裁剪時,會略過格式錯誤的未選取欄位:啟用 protobuf 結構描述裁剪時,from_protobuf 不再解碼或驗證查詢未選取的欄位。 格式錯誤的未選取欄位不再於 PERMISSIVE 模式下使該列變成 null,也不會在 FAILFAST 模式下導致查詢失敗。

  • JDBC 下推可正確處理 null 常值:Data Source v2 JDBC 下推現在會輸出 SQL 常值 NULL,而不是字串 'null'。 將像是這類表達式 NULLIF 分組的查詢,現在會產生一個空群組,而不是獨立 'null' 的字串群組。

  • HTTP 和 AI 函式不再跟隨重定向: http_request AI 函式也不再跟隨 HTTP 3xx 重定向。 收到重定向的呼叫現在會回傳遠端 HTTP 失敗,以判斷重定向狀態。 檔案來源連接器的下載則不受影響。

2026年8月24日

2026年8月24日

此無伺服器運算版本包含來自 Databricks Runtime 19 的更新。

新功能

  • collect_union 聚合函數:collect_union 聚合函數回傳每個群組內各陣列中的元素所形成的不重複聯集。

行為變更

  • HAVING 在含有產生器的查詢中,會先於視窗函數進行評估:對於包含產生器的查詢,例如 explode,現在會在 HAVING 篩選之後才評估視窗函數。 因此,視窗結果僅包含被 HAVING保留的列。

  • 查詢計畫預設會隱藏原則邏輯:除非使用者擁有 INSPECT_POLICY_EXECUTION 中繼存放區權限,否則查詢計畫不再顯示資料列篩選與資料行遮罩原則邏輯。

  • Delta API DML 使用原則定義者權限:DeltaTable.delete、DeltaTable.update 和 DeltaTable.merge 現在會以原則定義者的權限解析資料列篩選和資料欄遮罩原則函式,與 SQL DML 一致。 當呼叫端具有所需的資料表權限時,就不再需要在這些原則函式上使用 EXECUTE。

2026年8月17日

2026年8月17日

此無伺服器運算版本包含來自 Databricks Runtime 19 的更新。

新功能

  • is_valid_variant函數:若輸入為格式正確的is_valid_variant值,則VARIANT函數會回傳false;否則回傳true。 用它來驗證變異資料,然後再進行後續處理。

  • DataFrameGroupBy.cov 以及 SeriesGroupBy.describe Spark 上的 pandas API:Spark 上的 pandas API 現在支援 DataFrameGroupBy.cov,可計算每組內欄位的兩兩協變異數,以及 SeriesGroupBy.describe,為每個群組產生描述性統計量。

  • pa.ChunkedArray 支援於 createDataFrame: createDataFrame() 現在能用 PyArrow ChunkedArray 欄位處理 pandas DataFrame,避免使用 Arrow 支援的 pandas 資料時型別錯誤。

JAR任務在無伺服器運算上現已普遍可用

2026年8月6日

把 Scala 或 Java 程式碼打包成 JAR,並在無伺服器運算的 Lakeflow Job 裡當作任務執行。 你的 JAR 必須與無伺服器環境版本的 Scala、Java Development Kit(JDK)和 Databricks Connect 版本相符。 請參考在無伺服器運算上建立並執行 JAR。

無伺服器運算存取控制現已普遍可用

2026年8月3日

無伺服器運算存取控制現已普遍可用。 Workspace 管理員可以透過兩個內建的無伺服器運算物件來管理誰能執行無伺服器工作負載:Default Interactive Compute(管理對筆記本和 Databricks Connect 的存取)和 Default Automated Compute(管理 Lakeflow 上的工作與 Spark 宣告式管線存取)。 所有工作區使用者預設在兩個物件上都能 使用 ,因此現有工作負載仍能持續運行,無需更改。

請參見 管理無伺服器運算。

2026年7月6日

2026年7月6日

此無伺服器運算版本包含來自 Databricks Runtime 18 的更新。

新功能

  • Lakeflow 上的 Spark 宣告式管線串流查詢 ID:Lakeflow 上的 Spark 宣告式管線現在可以視需要設定串流查詢 ID。

  • IP 位址函數(公開預覽版):新增 SQL 函式可用於處理 IPv4 與 IPv6 位址及 CIDR 區塊,包括 ip_host、 ip_cidr、 ip_version、 ip_prefix_lengthip_networkip_network_lastip_cidr_containsip_as_binaryip_as_stringtry_*及用於 null 安全行為的變體。 請參見 ip_host 及相關函數。

  • 按需狀態重新分割(公開預覽):Structured Streaming 現在支援在不遺失檢查點狀態的情況下,變更具狀態查詢的 shuffle 分割區數量。 請參閱 針對有狀態串流查詢的隨需狀態重新分割。

行為變更

  • CREATE OR REPLACE TABLE 保留註解: CREATE OR REPLACE TABLE 現在預設保留現有的欄位與表格註解。 過去,重建表格時會刪除註解。 受管理的資料表和檢視現在已與現有的實體化檢視和串流資料表的行為一致。

  • DataFrame 以名稱寫入 cast 相容欄位: writeTo().append()、 writeTo().overwrite()、 writeTo().overwritePartitions(),現在 write.mode("append").saveAsTable() 自動 cast 型別相容欄位(例如 int 到 long),以匹配目標 Delta 表格結構。 過去,當欄位類型相容但並不完全相同時,這些操作會因發生 DELTA_FAILED_TO_MERGE_FIELDS 錯誤而失敗。 行為現在與 SQL INSERT INTO ... BY NAME相符。

  • ALTER TABLE SET TBLPROPERTIES 適用於 pipelines.pipelineId:ALTER TABLE <table> SET TBLPROPERTIES('pipelines.pipelineId' = '<pipeline-id>') 現在會嘗試讓指定的資料表可由管線寫入。 過去將此屬性放在一般表格上並無效果。 如果資料表不符合管線寫入條件,該指令會引發 SETTING_PIPELINES_PIPELINE_ID_NOT_SUPPORTED。

  • DESCRIBE EXTENDED AS JSON 包含預測優化結果: DESCRIBE EXTENDED ... AS JSON 現在已將預測優化評估結果納入輸出。 過去這些資訊並未在 JSON 輸出中回傳。

  • 度量檢視視窗量值會回傳正確結果: 當查詢使用 GROUP BY 篩選器、IN/BETWEEN 篩選器,或在視窗排序資料行上使用混合述詞時,度量檢視視窗量值現在會回傳正確結果。 過去,這些濾波器模式可能會產生錯誤的結果。

  • 使用 NaN 索引鍵的結構化串流去重複:結構化串流去重複現在會將位元模式不同的 NaN(非數值)值視為重複項目,前提是使用 double 或 float 資料行作為去重複索引鍵。 過去,具有不同內部表示方式的 NaN 值會被視為彼此不同,且不會進行去重。

  • NATURAL JOIN 大小寫不區分欄位匹配: NATURAL JOIN 現在以大小寫不敏感的方式匹配常見欄位,與等效 USING 的連接一致。 先前,欄位比對會區分大小寫,導致僅大小寫不同的欄位(例如 ID 與 id)無法被辨識為共同欄位,因此在沒有任何提示的情況下執行了交叉連接,而不是預期的等值連接。

版本 18.2

2026年5月13日

這個無伺服器運算版本大致對應 Databricks 的 Runtime 18.2。

新功能

  • CREATE OR REPLACE 支援暫存資料表: CREATE OR REPLACE TEMP TABLE 現在支援語法,讓你能在單一語句中建立或替換 暫存資料表 。 這消除了明確丟棄並重建臨時資料表的需求。

  • agg()函數別名measure():agg()現已作為函式的別名measure()提供。 此變更完全向下相容。 現有的 measure() 查詢在不加修改的情況下繼續運作, agg() 且在使用相同參數時產生相同的結果。

  • Snowflake JDBC 驅動程式升級:Snowflake JDBC 驅動程式由 3.22.0 升級至 3.28.0。

  • pyspark.pipelines.testing 命名空間別名: pyspark.pipelines.testing 現已作為 API 的便利別名 dlt.testing 提供。 透過任一命名空間,將 Spark 宣告式管線匯入 Lakeflow 管線測試公用事業。

  • Delta 表格歷程包含寫入選項旗標:Delta 表格歷程(DESCRIBE HISTORY)現在會在 operationParameters 欄中包含 WRITE 和 REPLACE TABLE 作業的寫入選項旗標。 當以下選項明確啟用時,它們會在歷史記錄中以布林標誌的形式出現(僅在以下情況下 true包含):

    對於 WRITE 和 REPLACE TABLE 運算:

    • isDynamicPartitionOverwrite: 在動態分割覆寫模式使用時存在
    • canOverwriteSchema:在啟用結構覆寫(overwriteSchema)時存在
    • canMergeSchema:在啟用結構合併(mergeSchema)時存在

    對於運算:REPLACE TABLE

    • predicate:當 使用 時存在replaceWhere
    • isV1WriterSaveAsTableOverwrite:當替換是由覆寫觸發時存在的.saveAsTable
  • 選擇性地以 replaceOn 和 replaceUsing DataFrame API 取代資料:Scala 與 Python DataFrame API 中的 replaceOn 與 replaceUsing 選項現已普遍提供。 利用這些選項將表格的一部分替換為 DataFrame 的結果。 replaceOn 替換符合使用者定義條件的列。 replaceUsing 取代指定欄位相等的列。 這些 API 是對 INSERT REPLACE ON 和 INSERT REPLACE USING SQL 陳述式的補充。 請參閱 選擇性地使用 Delta Lake 覆寫數據。

行為變更

  • INSERT:對於 、INSERT 及使用 MERGE的串流寫入,來源中的 NULL struct 現在會在目標中儲存為 NULL。 過去該值被錯誤地呈現為非空結構體,且每個欄位都設為 NULL,而未進行結構演化的相同操作則正確保留了 NULL 結構。 如果你的程式碼依賴接收一個非 null 結構體,而該結構體的欄位全是 NULL,那就更新程式碼改為處理 NULL 結構。

  • 刪除資料列的修正LEFT OUTER JOIN LATERAL:原本錯誤地從查詢中刪除資料列LEFT OUTER JOIN LATERAL的錯誤現已修正。 使用此結構的查詢現在會回傳正確的結果。 若要暫時回復到先前的行為,請設 spark.databricks.sql.optimizer.lateralJoinPreserveOuterSemantic 為 true。

  • NATURAL JOIN 支援不區分大小寫的欄位比對:NATURAL JOIN 現在會在 spark.sql.caseSensitive 設為 false(預設值)時,正確使用不區分大小寫的欄位比對。 過去,NATURAL JOIN 使用大小寫敏感的比較來辨識共同欄位,導致僅在大小寫不同的欄位(例如 ID 與 id)未被認為是相符的。 這導致 NATURAL JOIN 無聲地產生交叉連接結果。 此修正將 NATURAL JOIN 的行為與 USING joins 對齊,而 joins 已正確處理不區分大小寫的情況。 受此錯誤影響的查詢現在會回傳正確結果,欄位也正確連接。

  • Unity 目錄中的 SQL UDF 相依性驗證:Unity Catalog 現在對 SQL 使用者定義函式(UDF)強制執行相依性驗證,以防止存取控制繞過。 過去,透過 REST API 建立的 SQL 函式可以參考使用者無法存取的相依關係。 依賴設定無效的 SQL UDF 現在會被阻擋執行。

  • AWS SDK v1 相依性已經過 shaded 處理:隨附於 Azure Databricks 執行階段的 AWS SDK v1 相依性現在已經過 shaded 處理,不再直接出現在類別路徑(classpath)上。 如果你的程式碼依賴 Azure Databricks 執行環境先前提供的 AWS SDK v1 函式庫,請將它們作為專案中的明確相依。 此變更為在 AWS 對 SDK v1 支援結束後,遷移至 AWS SDK v2 做準備。

  • 修正 ESRI 定義的 SRID 102100 所使用的錯誤 EPSG 權威機構:SRID 102100 的座標參考系統(CRS)對應現在已正確改為使用 ESRI:102100,而非錯誤的 EPSG:102100。 此修正確保地理空間資料以正確權限儲存,以提升與其他系統的互通性。

版本 18.1

2026年4月20日

這個無伺服器運算版本大致對應 Databricks 的執行時 18.1。

新功能

  • DATETIMEOFFSET 資料型別支援Microsoft Azure Synapse:DATETIMEOFFSET 資料型態支援Microsoft Azure Synapse連線。

  • Google BigQuery 資料表註解:Google BigQuery 資料表描述會被解析並顯示為資料表註解。

  • JDBC 連線:使用 JDBC 連線 ,透過 Spark Data Source API 或 Databricks 遠端查詢 SQL API 讀寫資料來源。

  • 架構演化的 INSERT 語句:使用帶有 SQL WITH SCHEMA EVOLUTION 語句的 INSERT 子句,在插入操作時自動演化目標資料表的結構。 該子句支持於 INSERT INTO、 INSERT OVERWRITE和 INSERT INTO ... REPLACE 形式。 參見 圖式演化。

  • 在操作中INSERT保留 NULL 結構值:當來源表與目標表的結構欄位順序不同時,INSERT具有結構演化或隱式轉換的NULL操作保留結構值。

  • Delta Sharing 多帳單交易支援:使用預簽 URL 或雲端令牌共享模式的 Delta Sharing 表格支援多帳單交易。 在交易中的首次存取時,該資料表版本會被固定,並在該交易中重新用於所有後續的讀取。 不支援時間旅行、資料饋送變更和串流。

  • parse_timestamp SQL 函式: parse_timestamp SQL 函式用多種模式解析時間戳字串。 此函式運行於 Photon 引擎上以提升效能。

  • max_by 且 min_by 有可選的限制:聚合函數 max_by 和 min_by 現在接受第三個可選的第三個參數 limit (最多 100,000),回傳一個由頂部或底部 K 值組成的陣列,不含視窗函數或 CTE。

  • 向量聚合與純量函數:新的 SQL 函式可操作 ARRAY<FLOAT> 用於嵌入與相似度工作負載的向量,包括 vector_avg、 vector_sum、 vector_cosine_similarity、 vector_inner_product、 vector_l2_distance、 vector_norm 和 vector_normalize。 參見 內建功能。

  • 複合語句中的 SQL 游標支援:SQL 腳本複合語句現在支援游標處理。 使用 DECLARE CURSOR 定義游標,接著使用 OPEN 陳述式、 FETCH 陳述式和 CLOSE 陳述式 ,依序執行查詢並消耗列。

  • 近似 top-k 草圖函數:新增函數可建立並組合分布式 top-K 草圖,用於分布式 top-K 聚合: approx_top_k_accumulate、 approx_top_k_combine 和 approx_top_k_estimate。 請參閱 approx_top_k 聚合函數。

  • 元組草圖函數:新的元組草圖聚合與純量函數支援在鍵彙總對上的不同計數與聚合。 參見 內建功能。

  • 新的地理空間函數:以下地理空間函數現已可用:

  • Photon 支援地理空間功能:st_difference 功能、st_intersection 功能 和 st_union 功能 現在都在 Photon 引擎上運行,以提升效能。

行為變更

  • 觀察指標錯誤不再導致查詢失敗:觀察指標收集過程中的錯誤不再導致查詢執行失敗。 過去,OBSERVE 子句中的錯誤(如除以零)可能會阻塞或使整個查詢失敗。 現在,查詢成功完成,當你呼叫 observation.get時,錯誤會被觸發。

  • DESCRIBE FLOW 保留關鍵字:該 DESCRIBE FLOW 指令現在可用。 如果你有一個名為 flow的表格,請使用 DESCRIBE schema.flow、DESCRIBE TABLE flow,或 DESCRIBE `flow` 反引號。

  • SpatialSQL 布林值集合運算: ST_Difference、、 ST_Intersection,並 ST_Union 使用效能約快兩倍的新實作。 有效的輸入幾何形狀總是會產生結果。 結果經過正規化以保持一致輸出,且線段交叉點在小數點數第 15 位後可能因公式與操作順序不同而有所差異。

  • SQLSTATE 的例外類型: 例外類型 已更新以支援 SQLSTATE。 如果你的程式碼是透過字串匹配來解析例外或捕捉特定例外類型,請更新你的錯誤處理邏輯。

版本 18.0

2026年2月27日

這個無伺服器運算版本大致對應 Databricks 的 Runtime 18.0。

新功能

  • SQL 腳本現已普遍可用: SQL 腳本 現已普遍可用。

  • Redshift JDBC 驅動程式升級至 2.1.0.28:Redshift JDBC 驅動程式已升級至 2.1.0.28 版本。

  • Unity Catalog Python UDF 共享隔離執行環境:同一擁有者持有的 Unity Catalog Python UDF 現在預設可共享隔離環境,提升效能並減少記憶體使用。 若要確保 UDF 一律會在完全隔離的環境中執行,請新增 STRICT ISOLATION 特性子句。 參見 環境隔離。

  • 度量檢視表中的 SQL 視窗函式:你現在可以在度量檢視表中使用 SQL 視窗函式來計算累積總計、排名及其他基於視窗的計算。

  • 無狀態串流查詢中的動態洗牌分割區調整:你現在可以在不重新啟動查詢的情況下更改無狀態串流查詢中的洗牌分割區數量。

  • 在無狀態串流查詢中支援自適應查詢執行(AQE)與自動優化重組(AOS)。

  • 字串文字合併功能的拓展:序列字串文字(例如從 合併到 'Hello' ' World')的合併能力已拓展到任何允許使用字串文字的地方。 請參閱 STRING 類型。

  • 參數標記遍布各處:你現在幾乎可以在任何能使用適當類型文字值的地方使用命名(:param)和未命名(?)參數標記,包括 DDL 語句和欄位類型。 請參見參數標記。

  • IDENTIFIER 子句無所不在:此 IDENTIFIER 子句可將字串轉換為 SQL 物件名稱,並已擴展至幾乎所有允許使用識別字的地方,包括欄位別名與欄位定義。 請參閱 IDENTIFIER 第條款。

  • 新 BITMAP_AND_AGG 函數:現在有一個新的 bitmap_and_agg 聚合函 數函數可用。

  • 新的 Theta 草圖函數:一個新的函式庫,現已可用於使用 Datasketches Theta Sketch 進行近似唯一計數和集合運算,包括 theta_sketch_agg、theta_union_agg、theta_intersection_agg 及其他相關函數。

  • 新增 KLL Sketch 函數函式庫:現已提供用於近似分位數計算的 KLL Sketch 函式函數庫,包含 kll_sketch_agg_bigint、 kll_sketch_agg_double 及相關函數。

  • Apache Parquet 函式庫升級至 1.16.0: Apache Parquet 函式庫已升級至 1.16.0 版本。

  • 新增地理空間函數:以下新增地理空間函數現已支援:

  • 提升空間連接效能:現在透過引入洗牌空間連接支援,空間連接效能有所提升。

  • 提升地理空間功能效能:光子實作現已涵蓋st_isvalid功能、功能與st_makeline功能。st_makepolygon

  • EWKT 輸入支援: try_to_geography、 try_to_geometry、 to_geography 和 to_geometry 函式現在接受擴展 Well-Known 文字(EWKT)作為輸入。

行為變更

  • FSCK REPAIR TABLE 預設包含元資料修復:指令 FSCK REPAIR TABLE 現在包含一個初始的元資料修復步驟,然後再檢查遺失的資料檔案。 此指令可用於檢查點損壞或分割區值無效的資料表。

  • 按比例因子在讀取與自動最佳寫入間對齊:分割尺寸的按比例因子現在在讀取操作與自動最佳化寫入間一致使用分數值。 此變更可能導致讀取操作的任務數量有所差異。

  • Python UDF 執行統一於 PySpark 與 Unity 目錄:Unity 目錄 Python UDF 現在使用 Apache Arrow 作為預設交換格式,提升整體效能。 作為此變更的一部分,TIMESTAMP傳給 Python UDF 的值不再包含物件屬性中的datetimetzinfo時區資訊。 如果你的 UDF 依賴時區資訊,請使用 date = date.replace(tzinfo=timezone.utc) 恢復。 請參閱一次一列輸入的時間戳記時區行為。

  • Kafka 連接器登入模組問題的改善錯誤訊息:當使用 Kafka 連接器搭配未著色的登入模組類別時,Azure Databricks 現在會顯示錯誤訊息,建議使用正確的著色類別前綴(kafkashaded.org.apache.kafka 或 kafkashaded.software.amazon.msk.auth.iam)。

  • 時間旅行限制與 VACUUM 保留行為:Azure Databricks 現在會阻止所有資料表超過 deletedFileRetentionDuration 門檻的時間旅行查詢。 VACUUM指令會忽略保留時間參數,除非值為 0 小時。 你不能設定 deletedFileRetentionDuration 比大 logRetentionDuration ,反之亦然。

  • 在 PySpark 中,BinaryType 預設映射到 bytes:在 PySpark 中,BinaryType 現在一致映射到 Python bytes。 之前,PySpark 會根據上下文將 BinaryType 映射到 bytes 或 bytearray 其中之一。 要恢復舊有的行為,請設定 spark.sql.execution.pyspark.binaryAsBytes 為 false。

  • 分區欄位在 Parquet 檔案中實現:分區的 Delta 表格現在會在新撰寫的 Parquet 資料檔中具現化分區欄位。 過去,分割區值會儲存在 Delta 交易日誌的元資料中,並反映在目錄路徑中,但不會以欄位形式寫入 Parquet 檔案本身。 此變更可能影響直接讀取由 Delta 所寫入的 Parquet 檔案的工作負載。

  • DESCRIBE TABLE 輸出包含中繼資料欄位:輸出 DESCRIBE TABLE [EXTENDED] 現在包含一個新的 metadata 欄位,涵蓋所有資料表類型,包含以 JSON 字串定義的語意中繼資料(顯示名稱、格式及同義詞)。

無伺服器環境版本 5 現已推出

2026年2月25日

你現在可以在無伺服器筆記本和作業中使用無伺服器環境版本 5。 這包括 CPU 和 GPU 環境版本。 請參閱 環境版本 5。

版本 17.3

2025 年 10 月 28 日

此無伺服器計算版本大致對應至 Databricks Runtime 17.3 LTS。

新功能

  • LIMIT 遞迴 CTE 的所有支援:您現在可以將子 LIMIT ALL 句與遞迴通用表格運算式 (rCTE) 搭配使用,明確指定不應將任何資料列限制套用至查詢結果。 請參閱 通用表格運算式 (CTE)。

  • 附加至 Unity 目錄磁碟區中的檔案會傳回正確的錯誤:嘗試附加至 Unity 目錄磁碟區中的現有檔案現在會傳回更具描述性的錯誤訊息,以協助您瞭解和解決問題。

  • st_dump 函數支援:您現在可以使用函數 st_dump 將幾何物件分解為其組成部分,傳回一組更簡單的幾何圖形。 請參閱 st_dump 函式。

  • 現在支援多邊形內環功能:您現在可以使用下列函數來處理多邊形內環:

  • EXECUTE IMMEDIATE 使用常數表達式:該 EXECUTE IMMEDIATE 語句現在支援在查詢字串中使用常數表達式,從而實現更靈活的動態SQL執行。 請參閱 EXECUTE IMMEDIATE。

  • 允許 spark.sql.files.maxPartitionBytes 無伺服器運算:您現在可以設定 spark.sql.files.maxPartitionBytes Spark 組態參數,以控制讀取檔案時要封裝到單一分割區的位元組數目上限。 請參閱 設定用於無伺服器筆記本與作業的 Spark 屬性。

行為變更

  • 支援 DESCRIBE EXTENDED AS JSON 中的 MV/ST 重新整理資訊:此 DESCRIBE EXTENDED AS JSON 命令現在包含具體化檢視和串流表格的重新整理資訊,讓您可以了解上次重新整理的時間和狀態。

  • 將中繼資料欄新增至 DESCRIBE QUERY 和 DESCRIBE TABLE: DESCRIBE QUERY 和 命令 DESCRIBE TABLE 現在在其輸出中包含中繼資料欄,提供有關每個欄屬性和特徵的其他資訊。

  • 卸除 NullType 資料行時正確處理 Null 結構:Azure Databricks 現在會在卸除資料 NullType行時正確處理 Null 結構值,以防止潛在的資料損毀或非預期的行為。

  • 改進了 Parquet 中 null 結構的處理:此版本改進了讀取和寫入 Parquet 文件時處理 null 結構值的方式,確保更一致和正確的行為。

  • 升級 Kafka 的 aws-msk-iam-auth 程式庫: aws-msk-iam-auth 用於 Amazon MSK IAM 驗證的程式庫已升級至最新版本,提供改進的安全性和相容性。

版本 17.2

2025 年 9 月 25 日

此無伺服器計算版本大致對應至 Databricks Runtime 17.2。

新功能

  • ST_ExteriorRing 現在支援函數:您現在可以使用函數 ST_ExteriorRing 來擷取多邊形的外部邊界,並將其傳回為線串。 請參閱 st_exteriorring 函式。
  • 支援 TEMPORARY 建立指標檢視的關鍵字:您現在可以在建立指標檢視時使用 TEMPORARY 關鍵字。 暫時的指標檢視僅在建立它們的工作階段中可見,並在工作階段結束時被刪除。 請參閱 CREATE VIEW。

  • 在 S3 上使用原生 I/OLokiFileSystem.getFileStatus:LokiFileSystem.getFileStatus現在對 Amazon S3 流量使用原生 I/O 堆疊,並傳回org.apache.hadoop.fs.FileStatus物件,而不是 shaded.databricks.org.apache.hadoop.fs.s3a.S3AFileStatus。

  • 自動載入器在 singleVariantColumn 模式中推斷分區欄位:現在,自動載入器會在使用 singleVariantColumn 選項將資料作為半結構化變體類型擷取時,根據檔案路徑來推斷分區欄位。 先前不會自動偵測分割區資料行。 參見 自動裝填器。

行為變更

  • DESCRIBE CONNECTION 顯示 JDBC 連線的環境設定:Azure Databricks 現在會在 JDBC 連線的輸出中 DESCRIBE CONNECTION 包含使用者定義的環境設定,這些連線支援自訂驅動程式並隔離執行。 其他連線類型保持不變。

  • 在受管理資料表移轉期間截斷統一歷史記錄的選項:您現在可以在啟用 Uniform/Iceberg 特性的情況下,使用ALTER TABLE...SET MANAGED來移轉資料表並截斷其統一歷史記錄。 與手動停用和重新啟用 Uniform 相比,這簡化了遷移並減少了停機時間。

  • 具有空白規則運算式和正數限制的 split 正確結果:Azure Databricks 現在在搭配空白規則運算式和正數限制使用 split function 時,會傳回正確的結果。 以前,該函數錯誤地截斷了剩餘的字串,而不是將其包含在最後一個元素中。

  • 修正 Photon 中 url_decode 和 try_url_decode 的錯誤處理:在 Photon 中,try_url_decode() 和 url_decode() 聯同 failOnError = false 現在會針對無效的 URL 編碼字串傳回 NULL,而不是查詢失敗。

  • Unity 目錄 Python UDTF 的共用執行環境:Azure Databricks 現在會共用來自相同擁有者和 Spark 會話的 Python 使用者定義資料表函式 (UDTF) 的執行環境。 選擇性 STRICT ISOLATION 子句可用來停用具有副作用的 UDTF 共用,例如修改環境變數或執行任意程式碼。

版本 17.1

2025 年 8 月 19 日

此無伺服器計算版本大致對應至 Databricks Runtime 17.1。

新功能

  • 減少 Photon 寫入器中寬結構描述的記憶體使用量:對 Photon 引擎進行了增強功能,可大幅減少寬結構描述的記憶體使用量,解決先前導致記憶體不足錯誤的情況。

行為變更

  • zh-TW: 針對無效CHECK限制條件擲回錯誤:如果在限制條件驗證期間無法解析AnalysisException運算式,Azure Databricks 現在會擲回CHECK錯誤。

  • Pulsar 連接器不再公開 Bouncy Castle:Bouncy Castle 函式庫現在在 Pulsar 連接器中已重新命名,以防止類別路徑衝突。 因此,Spark 作業無法再從連接器存取org.bouncycastle.* 類別。 如果您的程式碼依賴 Bouncy Castle,請在無伺服器環境中手動安裝使用庫。

  • 自動載入器預設使用檔案事件(如果可用):當載入路徑是已啟用檔案事件的外部位置時,自動載入器會使用檔案事件而不是目錄清單。 useManagedFileEvents 的預設值現在為 if_available (原為 false)。 這可以改善導入效能,並在尚未啟用檔案事件時記錄警告訊息。

  • Teradata 連接器修正區分大小寫的字串比較:Teradata 連接器現在預設為 TMODE=ANSI,讓字串比較行為與 Azure Databricks 保持一致,方法是讓字串比較行為區分大小寫。 此變更是可設定的,不會影響現有使用者,除非他們選擇加入。

無伺服器環境第 4 版

2025 年 8 月 13 日

環境第 4 版現在可在您的無伺服器筆記本和任務中使用。 此環境版本包括程式庫升級和 API 更新。 請參閱 環境版本 4。

版本 17.0

2025年7月24日

此無伺服器計算版本大致對應至 Databricks Runtime 17.0。

新功能

  • SQL 程式支援:SQL 腳本現在可以封裝在程式中,並作為可重複使用的資產儲存在 Unity Catalog。 您可以使用 CREATE PROCEDURE 命令建立程式,然後使用 CALL 命令加以 呼叫 。

  • 設定 SQL 函數的預設排序規則:在 DEFAULT COLLATION 命令中使用新的 CREATE FUNCTION 子句會定義用於 STRING 參數、傳回型別,以及函數主體中 STRING 常值的預設排序規則。

  • 遞歸通用數據表表示式 (rCTE) 支援:Azure Databricks 現在支援使用 遞歸通用數據表運算式 (rCTEs) 來瀏覽階層式數據。 使用自我參考 CTE 搭配 UNION ALL 來追蹤遞歸關聯性。

  • PySpark 和 Spark Connect 現在支援 DataFrame df.mergeInto API:P ySpark 和 Spark Connect 現在支援 df.mergeInto API。

  • 在 SCHEMAS 中支持:語法已更新以接受,允許您遍歷所有支持命名空間的活躍目錄。 輸出屬性現在包含一個 catalog 數據行,指出對應命名空間的目錄。

  • 液體群集現在會更有效率地壓縮刪除向量:使用液體群集的 Delta 數據表,現在在執行時 OPTIMIZE ,會更有效率地套用刪除向量的實體變更。 如需詳細資訊,請參閱 將變更套用至 Parquet 數據檔。

  • 允許在 UPDATE/INSERT 欄位值中使用不具決定性的表達式以進行 MERGE 作業:Azure Databricks 現在允許在更新和插入作業的欄位值中使用不具決定性的 MERGE 表達式。 例如,您現在可以使用 之類的 rand()運算式來產生數據行的動態或隨機值。

  • 變更 Delta MERGE Python API 以傳回 DataFrame 而非 Unit: Python MERGE API 現在也會像 SQL API 一樣傳回 DataFrame,且結果相同。

行為變更

  • 自動載入器累加式目錄清單選項的行為變更:已淘汰的自動載入器 cloudFiles.useIncrementalListing 選項的值現在會設定為的預設值 false。 因此,這項變更會導致 Auto Loader 每次執行時都要載入完整的目錄列表。 Databricks 建議不要使用此選項。 改為 用檔案通知模式搭配檔案事件。

  • CREATE VIEW 當子句只套用至具象化檢視表時,欄位級子句現在會擲回錯誤:CREATE VIEW 指定欄位級子句的命令若僅對 MATERIALIZED VIEW 有效,現在會擲回錯誤。 受影響的子句包括 NOT NULL、指定的數據類型、 DEFAULT和 COLUMN MASK。

無伺服器效能目標為 GA

2025年6月10日

作業和管線的無伺服器效能設定選項現在已正式推出。

啟用 效能優化 設定時,您的工作負載會針對更快的啟動和運行時間進行優化。 停用時,無伺服器工作負載會在標準效能模式上執行,其已針對成本優化,且啟動延遲略高。

如需詳細資訊,請參閱 選取效能模式 和 選取效能模式。

版本 16.4

2025年5月28日

此無伺服器計算版本大致對應至 Databricks Runtime 16.4 LTS。

行為變更

  • 修正以尊重數據源快取計劃選項:此更新可確保數據表讀取時,尊重所有數據源計劃設置的選項,而非僅限於首次快取的數據表讀取。 先前,資料來源表在讀取時會快取第一個方案,但無法考慮到後續查詢中的不同選項。

  • 啟用旗標以要求 MERGE 作業的來源具體化:先前,使用者可以藉由將 設定 merge.materializeSource 為 none來關閉 MERGE 中的來源具體化。 當啟用新旗標時,來源實現總是必須,若嘗試停用將導致錯誤。 Databricks 計劃只針對先前未變更此設定的客戶啟用此旗標,因此大多數使用者不應該遇到任何行為變更。

新功能

  • 自動載入器現在可以清除來源目錄中已處理的檔案:您現在可以指示自動載入器自動移動或刪除已處理的檔案。 選擇使用cloudFiles.cleanSource自動載入選項以啟用此功能。 參見Common,在cloudFiles.cleanSource之下。

  • 為 Delta 表格的串流新增類型擴展支援:此版本新增了對具有類型擴展的資料行的 Delta 表格進行串流的支援,並且透過 Databricks 到 Databricks Delta 分享啟用類型擴展的 Delta 表格分享功能。 類型擴大功能目前處於公開預覽狀態。 請參閱類型擴展。

  • IDENTIFIER DBSQL 現在支援目錄作業:您現在可以在執行下列目錄作業時使用 IDENTIFIER 子句:

    • CREATE CATALOG
    • DROP CATALOG
    • COMMENT ON CATALOG
    • ALTER CATALOG

    這個新語法可讓您使用針對這些作業定義的參數,動態指定目錄名稱,讓SQL工作流程更具彈性且可重複使用。 作為語法的範例,請考慮 CREATE CATALOG IDENTIFIER(:param) where param 是提供來指定目錄名稱的參數。 請參閱 IDENTIFIER 第條款。

  • 彙整的表達式現在提供自動產生的臨時別名:彙整的表達式的自動產生別名現在決定性地併入 COLLATE 資訊。 自動產生的別名是暫時性的(不穩定),不應依賴。 相反地,最佳做法是一致且明確地使用 expression AS alias 。

  • 將篩選下推 API 支援新增至 Python 數據源:無伺服器計算現在支持篩選下推至 Python 數據源批次,其讀取方式與介面類似 SupportsPushDownFilters 。 請參閱 16.4 LTS 版本資訊。

  • Python UDF 追蹤回溯改進:Python UDF 追蹤現在包含驅動和執行程序以及客戶端的框架,產生更好的錯誤訊息,以顯示更詳細且更相關的資訊(例如 UDF 框架中的行內容)。

  • 檢視中的 UNION/EXCEPT/INTERSECT,現在EXECUTE IMMEDIATE會傳回正確的結果:對於具有最上層UNION/EXCEPT/INTERSECT且未命名別名欄位的暫存和永續性檢視定義的查詢,以前會傳回不正確的結果,因為UNION/EXCEPT/INTERSECT 關鍵詞被視作別名。 現在,這些查詢會正確地執行整個集合作業。

  • 數據源快取計劃配置和遷移指南:從檔案資料表讀取會正確遵守查詢選項(例如分隔符)。 先前,系統會快取第一個查詢計劃,並忽略後續的選項變更。 若要還原先前的行為,請將 spark.sql.legacy.readFileSourceTableCacheIgnoreOptions 設定為 true。

  • 新增 listagg 和 string_agg 函式:從這個版本開始,您可以使用 listagg 或 string_agg 函式來匯總 STRING 群組內的 和 BINARY 值。 參見 string_agg。

效能模式現在可在無伺服器作業上設定

2025年4月14日

您現在可以使用 [作業詳細數據] 頁面中的 [ 效能優化 ] 設定,選取無伺服器作業的效能模式。 先前,所有無伺服器作業都已優化效能。 現在,您可以停用 效能優化 設定,以在標準效能模式上執行工作負載。 標準效能模式的設計目的是要降低可接受略高啟動延遲的工作負載成本。

連續管線、使用 runs/submit 端點建立的一次性執行,或 SQL 倉儲作業工作不支援標準效能模式,包括具體化檢視。

如需效能模式的詳細資訊,請參閱 選取效能模式。

版本 16.3

2025年4月9日

此無伺服器計算版本大致對應至 Databricks Runtime 16.3。

行為變更

  • *已改善指派無效值時 kafka.sasl.client.callback.handler.class 的錯誤訊息:此版本包含變更,以在指派無效值時 kafka.sasl.client.callback.handler.class 傳回更具描述性的錯誤訊息。

新功能

  • 狀態讀取器支援已在無伺服器運算環境中正式推出:目前已在無伺服器運算環境中正式推出支援閱讀結構化串流查詢狀態資訊的功能。 請參閱 讀取結構化串流狀態資訊。

  • Delta 表協定降級已達到 GA 階段,具檢查點保護:DROP FEATURE 通常可以用來移除 Delta Lake 表功能,並降級表協定。 根據預設, DROP FEATURE 現在會建立受保護的檢查點,以取得更優化且簡化的降級體驗,而不需要任何等候時間或歷程記錄截斷。 請參閱 卸除 Delta Lake 數據表功能和降級數據表通訊協定。

  • 根據 ANSI SQL/PSM 撰寫程式性 SQL 腳本(公開預覽版):您現在可以使用以 ANSI SQL/PSM 為基礎的腳本功能,使用 SQL 撰寫程式邏輯,包括控制流程語句、局部變數和例外狀況處理。 請參閱 SQL 腳本。

  • 數據表和檢視層級預設定序:您現在可以指定資料表和檢視的預設定序。 這可簡化數據表和檢視的建立,其中所有數據行或大部分數據行共用相同的定序。 請參閱 排序。

  • 新的 H3 函式:已新增三個新的 H3 函式: h3_try_coverash3、 h3_try_coverash3string和 h3_try_tessellateaswkb。

  • 改變一個語句中的多個數據表數據行:您現在可以在單一ALTER TABLE語句中變更多個數據行。ALTER TABLE 請參閱 ALTER TABLE ... COLUMN 子句。

版本 16.2

2025年3月13日

此無伺服器計算版本大致對應至 Databricks Runtime 16.2。

行為變更

  • 在 Delta Sharing 中,預設會啟用表格歷史:使用 SQL 命令建立的共用現在預設會啟用歷史共用(ALTER SHARE <share> ADD TABLE <table>)。 請參閱 ALTER SHARE。

  • 認證 SQL 語句在認證類型不符時傳回錯誤:現在,如果認證管理 SQL 語句中指定的認證類型不符合認證自變數的類型,則會傳回錯誤,而且不會執行語句。

新功能

  • timestampdiff 在產生的數據行表示式中使用 & timestampadd ,您現在可以在 Delta Lake 產生的數據行表達式中使用 timestampdiff 和 timestampadd 函式。 請參閱 Delta Lake 產生的數據行。

  • 更新以 DESCRIBE TABLE 將元數據當做結構化 JSON 傳回:您現在可以使用 DESCRIBE TABLE AS JSON 命令將數據表元數據傳回為 JSON 檔。 JSON 輸出的結構比預設的人類可讀取報表更結構化,而且可用來以程式設計方式解譯數據表的架構。 若要深入瞭解,請參閱 DESCRIBE TABLE AS JSON。

  • 尾端空白不敏感排序:無伺服器架構現在支援尾端空白不敏感排序。 例如,這些定序會將 'Hello' 和 'Hello ' 視為相等。 若要深入瞭解,請參閱 RTRIM 定序。

錯誤修正

  • 改善的增量複製處理:此版本包含對特殊情況的修正,其中在某些情況下,增量 CLONE 可能會將已從源資料表複製的檔案重新複製到目標資料表。 請參閱 在 Azure Databricks 上複製數據表。

無伺服器筆記本上可用的高記憶體設定 (公開預覽)

2025年2月7日

您現在可以為無伺服器計算筆記本工作負載設定較高的記憶體大小。 此設定可以同時套用至互動式和排程的筆記本工作負載。

具有高記憶體的無伺服器使用量具有比標準記憶體更高的 DBU 排放率。

如需詳細資訊,請參閱 使用高記憶體無伺服器計算。

版本 16.1

2025年2月5日

此無伺服器計算版本大致對應至 Databricks Runtime 16.0 和 Databricks Runtime 16.1。

新功能

  • 遞迴架構的 Avro 支援:您現在可以使用 recursiveFieldMaxDepth 選項搭配 from_avro 函式和 avro 數據來源。 此選項會設定 Avro 數據源上架構遞歸的最大深度。 請參閱 讀取和寫入串流 Avro 數據。
  • 擴充對 Avro 的 Confluent 架構登錄支援: 無伺服器現在支援使用 Confluent 架構登錄的 Avro 架構參考。 請參閱 向外部 Confluent 架構登錄進行驗證。
  • 對具備液體群集的數據表強制重新叢集: 您現在可以使用 OPTIMIZE FULL 語法,強制將啟用液體群集的數據表中的所有記錄重新進行叢集。 參見 「力再聚」。
  • 適用於 Python 的 Delta API 現在支援識別數據行: 您現在可以使用適用於 Python 的 Delta API 來建立具有識別資料行的數據表。 請參見 身份欄位。
  • 在串流寫入期間建立液體叢集數據表: 您現在可以在建立具有結構化串流寫入的新數據表時,使用 clusterBy 來啟用液體叢集。 請參閱 啟用液體群集。
  • OPTIMIZE支援FULL 子句:無伺服器計算現在支援 OPTIMIZE FULL 子句。 此子句會將使用液體群集之數據表中的所有記錄優化,包括先前可能已叢集的數據。
  • INSERT 無伺服器運算現在支援用於語句的表格引用和表格名稱的選項規範,可以用來控制數據源的行為。
  • 新的 SQL 函式: 下列 SQL 函式現在可在無伺服器計算上使用:
  • 支援。 使用 withSchemaEvolution() 啟用在 MERGE 作業期間的自動架構演進。 例如: mergeBuilder.whenMatched(...).withSchemaEvolution().execute()}} 。
  • Apache Spark 中的定序支持處於公開預覽狀態: 您現在可以將語言感知、不區分大小寫和不區分存取的定序指派給 STRING 數據行和表達式。 這些定序用於字串比較、排序、群組作業和許多字串函式。 請參閱 排序。
  • Delta Lake 中的定序支援處於公開預覽狀態: 您現在可以在建立或改變 Delta 資料表時定義資料行的定序。 請參閱 Delta Lake 的排序支援。
  • LITE 模式的真空處於公開預覽狀態: 您現在可以使用 VACUUM table_name LITE 執行較輕量的真空作業,以利用 Delta 交易記錄中的元數據。 參見 全模式與輕量模式 及 VACUUM。
  • 對子句進行參數化的支持:語句現在支援子句。 透過這項支援,您可以根據字串變數或參數標記來參數化目前目錄。
  • COMMENT ON COLUMN數據表和檢視的支援:COMMENT ON語句現在支援修改檢視和數據表欄位的註解。
  • 更多函式的具名參數調用: 下列函式支援 具名參數調用:
  • SYNC METADATA您現在可以使用 REPAIR TABLE 參數搭配 命令來更新 Hive 中繼存放區受管數據表的元數據。 請參閱 REPAIR TABLE。
  • 已壓縮 Apache Arrow 批次的增強數據完整性: 為了進一步防止數據損毀,每個 LZ4 壓縮 Arrow 批次現在都包含 LZ4 內容和區塊檢查碼。 請參閱 LZ4 框架格式描述。
  • 內建的 Oracle JDBC 驅動程式: 無伺服器計算現在已內建 Oracle JDBC 驅動程式。 如果您透過 DriverManager使用客戶上傳的 JDBC 驅動程式 JAR,您必須重寫腳本以明確使用自訂 JAR。 否則會使用內建驅動程式。 此驅動程式僅支援 Lakehouse 同盟。 針對其他使用案例,您必須自行提供驅動程式。
  • 使用路徑存取之 Delta 資料表的詳細錯誤: 目前已有使用路徑存取之 Delta 資料表的新錯誤訊息體驗。 所有例外狀況現在都會轉送給使用者。 現在將會保留例外 DELTA_MISSING_DELTA_TABLE,僅用於當基礎檔案無法讀取為 Delta 表格的情況。

行為變更

  • 重大變更:託管的 RStudio 已終止生命週期:在此版本中,Databricks 裝載的 RStudio 伺服器是生命週期結束,且無法在任何在無伺服器計算上執行的 Azure Databricks 工作區上使用。 若要深入瞭解並查看 RStudio 的替代方案清單,請參閱 連線到 Databricks 裝載的 RStudio 伺服器。
  • 重大變更:移除對將 、 byteshort 和 int 類型變更long為較寬類型的支援:若要確保 Delta 和 Apache Iceberg 數據表之間的一致行為,下列數據類型變更無法再套用至已啟用類型擴大功能的數據表:

    • byte、 shortint 與 long 至 decimal。
    • byte、 short與 int 至 double。
  • 在巢狀字元群組中使用否定來正確剖析 regex 模式: 此版本包含一項變更,以支援巢狀字元群組中具有否定性之 regex 模式的正確剖析。 例如, [^[abc]] 會剖析為「任何不是 『abc』 字元」的字元。

    此外,Photon 的行為在巢狀字元類別中與 Spark 不一致。 包含巢狀字元類別的 Regex 模式將不再使用 Photon,而是使用 Spark。 巢狀字元類別是包含方括弧內方括弧的任何模式,例如 [[a-c][1-3]]。

  • 改善 Delta Lake MERGE中的重複比對偵測:MERGE 現在會考慮 子句中指定的 WHEN MATCHED 條件。 請參閱合併 Upsert 到 Delta Lake 表中。

  • 功能 addArtifact() 現在在計算類型之間一致: 當您使用 addArtifact(archive = True) 將相依性新增至無伺服器計算時,封存會自動解除封裝。

錯誤修正

  • 時區偏移量現在在串行化為 CSV、JSON 和 XML 時包括秒數: 含有秒數的時間戳(尤其是在 1900 年以前常見的時間戳),在串行化為 CSV、JSON 和 XML 時,秒數此前會被省略。 已修正預設時間戳格式器,現在會傳回這些時間戳的正確位移值。

其他變更

  • cloudFiles 已重新命名下列錯誤碼:
    • _LEGACY_ERROR_TEMP_DBR_0143 重新命名為 CF_INCORRECT_STREAM_USAGE。
    • _LEGACY_ERROR_TEMP_DBR_0260 重新命名為 CF_INCORRECT_BATCH_USAGE 。

版本 15.4

2024 年 10 月 28 日

此無伺服器計算版本大致對應至 Databricks Runtime 15.4

新功能

  • UTF-8 驗證函式:此版本引進下列函式來驗證 UTF-8 字串:
    • is_valid_utf8 驗證字串是否為有效的UTF-8字串。
    • make_valid_utf8使用替代字元,將可能無效的UTF-8字串轉換成有效的UTF-8字串。
    • 如果 輸入不是有效的 UTF-8 字串,validate_utf8就會引發錯誤。
    • 如果 輸入不是有效的 UTF-8 字串,try_validate_utf8會傳 NULL 回 。
  • 使用 ALTER TABLE啟用 UniForm Iceberg: 您現在可以在現有的數據表上啟用 UniForm Iceberg,而不需重寫數據檔。 請參閱「現有資料表」。
  • try_url_decode函式: 此版本引進 try_url_decode 函式,其會譯碼 URL 編碼的字串。 如果字串的格式不正確,函式會傳回 NULL 而不是引發錯誤。
  • 選擇性地允許優化器依賴非強制外鍵條件約束:若要改善查詢效能,您現在可以在 RELY 或 FOREIGN KEY 數據表時,在條件約束上指定 關鍵詞。
  • 針對選擇性覆寫的平行化作業執行: 現在,選擇性覆寫能夠使用 replaceWhere 來平行執行刪除資料和插入新資料的作業,以改善查詢效能和叢集使用率。
  • 使用選擇性覆寫改善變更數據摘要的效能: 在具有變更數據摘要的數據表上使用選擇性覆寫 replaceWhere ,不再針對插入的數據寫入個別的變更數據檔。 這些作業會使用基礎 Parquet 資料檔中存在的隱藏 _change_type 資料行來記錄變更,而不需引起寫入放大的問題。
  • 改善命令的 COPY INTO 查詢延遲: 此版本包含可改善命令查詢延遲的 COPY INTO 變更。 本次改善是藉由讓 RocksDB 狀態儲存區以非同步方式載入狀態所實施。 藉由這項變更,您應該會看到具有大型狀態的查詢在開始時間方面有所改善,例如具有大量已吸收檔案的查詢。
  • 支援卸除檢查條件約束數據表功能:您現在可以使用 checkConstraints從 Delta 數據表卸除ALTER TABLE table_name DROP FEATURE checkConstraints資料表功能。 參見「移除檢查約束」。

行為變更

  • 檢視的架構系結變更: 當檢視基礎查詢中的數據類型從第一次建立檢視時所使用的數據類型變更時,當無法執行安全轉換時,Databricks 就不會再針對檢視的參考擲回錯誤。

    相反地,檢視會盡可能使用一般類型轉換規則來補償。 這項變更可讓 Databricks 更輕易地容忍數據表架構變更。

  • 在布爾邏輯之外,不容許使用未記載的 ! 語法來容忍 NOT:Databricks 將不再容許使用 做為 ! 的同義字。 這項變更可減少混淆、與 SQL 標準一致,並讓 SQL 更具可攜性。 例如:

    CREATE ... IF ! EXISTS, IS!NULL、 ! NULL 資料行或欄位屬性, ! IN 以及 !BETWEEN 必須取代為:

    CREATE ... IF NOT EXISTS、IS NOT NULL、NOT NULL 資料行或欄位屬性、NOT IN 與 NOT BETWEEN。

    布爾前置詞運算子! (例如 !is_mgr 或!(true AND false)) 不受這項變更影響。

  • 不允許在檢視中使用未記載和未處理的欄定義語法部分: Databricks 支援 CREATE VIEW 具名欄和欄註解。

    在語法中容許列類型、NOT NULL 約束條件或 DEFAULT 的規格,但是無實際效果。 Databricks 會移除此語法容忍。 這樣做可減少混淆、與 SQL 標準一致,並允許未來的增強功能。

  • Spark 和 Photon 中Base64譯碼的一致錯誤處理: 此版本會變更 Photon 如何處理 Base64 譯碼錯誤,以符合這些錯誤的 Spark 處理方式。 在這些變更之前,Photon 和 Spark 的代碼生成路徑有時無法引發剖析異常,而 Spark 的解譯執行則能正確引發 IllegalArgumentException 或 ConversionInvalidInputError。 此更新確保 Photon 在 Base64 解碼錯誤時,能夠始終引發與 Spark 相同的例外,因此提供更具可預測性和可靠性的錯誤處理。

  • CHECK為了提供更有用的錯誤訊息,在 Databricks Runtime 15.3 及更高版本中,含有ALTER TABLE ADD CONSTRAINT參考無效欄位名稱的約束的語句將回傳CHECK錯誤類別。 先前已傳回 INTERNAL_ERROR。

JDK 從 JDK 8 升級至 JDK 17

2024 年 8 月 15 日

筆記本和工作流程的無伺服器計算已從伺服器端的 Java 開發工具包 (JDK) 8 移轉至 JDK 17。 此升級包含下列行為變更:

  • 在巢狀字元群組中使用否定來正確剖析 regex 模式:有了此升級,Azure Databricks 現在支援在巢狀字元群組中使用否定來正確剖析 regex 模式。 例如, [^[abc]] 會剖析為「任何不是 『abc』 字元」的字元。

    此外,Photon 的行為在巢狀字元類別中與 Spark 不一致。 包含巢狀字元類別的 Regex 模式將不再使用 Photon,而是使用 Spark。 巢狀字元類別是包含方括弧內方括弧的任何模式,例如 [[a-c][1-3]]。

版本 15.1

2024年7月23日

此無伺服器計算版本大致對應至 Databricks Runtime 15.1

新功能

*中的 star (WHERE) 語法支援:您現在可以在 子句中使用 star (*) 語法來參考 WHERE 清單中的所有數據行。

例如: SELECT * FROM VALUES(1, 2) AS T(a1, a2) WHERE 1 IN(T.*) 。

Changes

改善 JSON 剖析的錯誤復原:用於 from_json() 和 JSON 路徑表達式的 JSON 剖析器現在會更快從格式錯誤的語法復原,因而減少數據遺失。

在結構欄位、陣列值、對應索引鍵或對應值中遇到格式不正確的 JSON 語法時,JSON 剖析器現在只會針對無法讀取的欄位、索引鍵或元素傳回 NULL 。 後續欄位、鍵值或元素將會正確剖析。 在此變更之前,JSON 剖析器放棄剖析陣列、結構或映射,並傳回 NULL 作為剩餘內容。

版本 14.3

2024年4月15日

這是初始無伺服器計算版本。 此版本大致對應至 Databricks Runtime 14.3 ,並進行了一些修改,可移除某些非無伺服器和舊版功能的支援。

支援的 Spark 組態參數

為了自動設定無伺服器計算上的Spark,Azure Databricks 已移除手動設定大部分Spark組態的支援。 若要檢視支援的Spark組態參數清單,請參閱 設定無伺服器筆記本和作業的Spark屬性。

如果您設定不支援的 Spark 組態,在無伺服器計算上執行作業將會失敗。

input_file函式已被取代

input_file_name()、input_file_block_length()和input_file_block_start() 函式已被取代。 強烈建議您不要使用這些函式。

請改用 檔案元數據數據行 來擷取檔案元數據資訊。

行為變更

無伺服器計算 2024.15 版包含下列行為變更:

  • unhex(hexStr) Bug 修正: 使用unhex(hexStr)函式時,hexStr 一律會向左填補到整個位元組。 先前 unhex 函式忽略了前半位元組。 例如: unhex('ABC') 現在會產生 x'0ABC' 而不是 x'BC'。
  • 自動產生的數據行別名現在穩定: 在沒有使用者指定的數據行別名的情況下參考表達式的結果時,這個自動產生的別名現在會穩定。 新的演算法可能會導致先前自動產生的名稱發生變更,例如實體化檢視等功能。
  • 具備 CHAR 類型欄位的資料表掃描現在一律會填充: Delta 表、某些 JDBC 資料表和外部數據源會將 CHAR 資料以非填充形式儲存。 讀取時,Azure Databricks 現在會在數據資料後填補空格以達到宣告的長度,從而確保語意的正確性。
  • 從 BIGINT/DECIMAL 轉換成 TIMESTAMP 會因溢出值拋出例外狀況: Azure Databricks 允許將 BIGINT 和 DECIMAL 轉換成 TIMESTAMP,將值視為 Unix epoch 起算的秒數。 先前,Azure Databricks 會傳回溢位的值,但現在會在溢位的情況下擲回例外狀況。 使用 try_cast 傳回 NULL,而不是例外狀況。
  • 已改善 PySpark UDF 執行,以符合專用計算上 UDF 執行的確切行為: 已進行下列變更:
    • 具有字串傳回類型的UDF不再隱含地將非字串值轉換成字串。 先前,具有傳回型別的 str UDF 會將包裝函式套用 str(..) 至結果,而不論傳回值的實際數據類型為何。
    • 具有 timestamp 傳回類型的 UDF 不再隱含地將時區轉換套用至時間戳。