親愛的社區小夥伴們,Apache Doris 4.0.2 版本已正式發佈。此版本新增了在 AI & Search、函數、物化視圖、Lakehouse 等方面的功能,並同步進行了多項優化改進及問題修復,歡迎下載體驗!
- GitHub 下載:https://github.com/apache/doris/releases
- 官網下載:https://doris.apache.org/download
新增功能
AI & Search
- 倒排索引支持自定義分析器,包含拼音分詞器和拼音過濾器
- 倒排索引的搜索函數新增多位置短語查詢(PhraseQuery)支持
- 新增 ANN 索引僅掃描能力
函數
- 新增
sem聚合函數 - 支持源自 Hive 的
factorial簡單 SQL 函數 - 部分正則表達式函數新增零寬斷言支持
- JSON 類型支持 GROUP BY 和 DISTINCT 操作
- 新增 add/sub_time 時間函數
- 新增 deduplicate_map 函數
物化視圖
- 非分區基表數據變更時,物化視圖仍可參與透明查詢重寫
- 創建 MTMV 支持基於視圖創建
- MTMV 刷新支持多 PCT 表
- 物化視圖包含窗口函數時,支持窗口函數重寫
Lakehouse
- 新增 Doris Catalog,該功能允許用户通過 Catalog 能力關聯多個獨立的 Doris 集羣並進行高效的聯邦數據查詢。解決 Doris 集羣間數據無法關聯查詢的問題。文檔:https://doris.apache.org/docs/4.x/lakehouse/catalogs/doris-ca...
- 支持通過 rewrite_data_files 方法對 Iceberg 表進行 compaction 操作。該操作允許用户對 Iceberg 小文件進行合併,從而優化讀取效率。文檔:https://doris.apache.org/docs/4.x/lakehouse/catalogs/iceberg-...
- 支持通過 WARM UP 語句對 Hive、Iceberg、Paimon 等外部表數據進行緩存預熱。文檔:https://doris.apache.org/docs/4.x/lakehouse/data-cache#cache-...
- 支持通過 ALTER 語句對 Iceberg 表進行 Partition Evolution 操作。文檔:https://doris.apache.org/docs/4.x/lakehouse/catalogs/iceberg-...
- 支持 HTTP Table Valued Function,支持通過 Table Valued Function 直接讀取 HTTP 資源文件。文檔:https://doris.apache.org/docs/4.x/sql-manual/sql-functions/ta...
- 支持直接訪問 Huggingface 上的數據集。文檔:https://doris.apache.org/docs/4.x/lakehouse/huggingface
- 支持通過 Iceberg REST Catalog 協議訪問 Microsoft OneLake。文檔:https://doris.apache.org/docs/4.x/lakehouse/best-practices/do...
- 支持直接映射 Hive、Iceberg、Paimon、JDBC 外表中的 binary 類型到 Doris 的 varbinary 類型。請參閲各 Catalog 文檔的【列映射】小節。
優化改進
- 優化
FROM_UNIXTIME函數性能 - 移除 PartitionKey 比較中的
castTo轉換操作,提升分區處理效率 - 降低 Catalog 中 Column 類的內存佔用
- Ann 索引訓練前累積多個小批次數據,提升訓練效率
- 升級 Hadoop 依賴到 3.4.2 版本
- 優化 FE 和 BE 的優雅退出機制,降低節點退出對查詢的影響
- 優化對包含大量分區的 hive 表的寫入的效率
- 優化 Paimon 表 Split 佔用內存過大的問題
- 優化對 Parquet RLE_DICTIONARY 編碼的讀取效率
- 優化 FE 和 BE 的優雅退出機制,降低節點退出對查詢的影響
問題修復
查詢
- 修復輸入為 null 時
utc_time函數返回結果錯誤的問題 - 修復 UNION ALL 結合 TVF 時拋出異常的問題
- 修復唯一鍵表創建物化視圖時,WHERE 子句包含非鍵列的問題
- 修復 window 函數:LAG/LEAD 偏移參數支持常量表達式計算
- 修復聚合函數:可空列投影前下推聚合操作異常;非空列 count 下推聚合問題
- 修復時間函數:second/microsecond 函數未處理時間字面量;time_to_sec 處理 null 值時因垃圾值報錯
- 修復 AI 函數:_exec_plan_fragment_impl 調用 AI 函數時出現未知錯誤
- 修復地理信息:geo 模塊內存泄漏
- 修復 information_schema:偏移時區格式不兼容
物化視圖與模式變更
- 修復物化視圖包含分組集合和掃描過濾器時重寫失敗的問題
- 修復大流量模式變更時讀取單行集非重疊段導致的 coredump 問題
存算分離
- 修復 TopN 查詢中廣播遠程讀取的問題
- 修復雲環境下刪除 tablet 任務堆積的問題
- 修復雲環境首次啓動時服務上線耗時過長的問題
Lakehouse
- 修復某些情況下,Hive 分區變更導致元數據緩存不一致的問題
- 修復寫入 TIMESTAMP 類型分區的 Iceberg 表錯誤的問題
- 修復 Paimon 表 Incremental Read 行為和 Spark 不一致的問題
- 修復某些情況下,外表元數據緩存可能導致的死鎖問題
- 修復 BE 端 s3 client 線程數不合理導致的 IO 吞吐低的問題
- 修復某些情況,寫入存儲在非 S3 對象存儲上的外表時失敗的問題
- 修復某些情況下,使用 query() 進行 JDBC Catalog SQL 透傳失敗的問題
- 修復 JNI Reader 時間統計導致讀取性能下降的問題
- 修復 BE 側 jni.log 無法打印的問題
其他
- 修復在非 Master 階段 UNSET GLOBAL 變量時錯誤的問題
- 修復某些情況下,異常的 export 任務無法取消的問題