Apache Doris 2.1.3 版本正式发布!

亲爱的社区小伙伴们,Apache Doris 2.1.3 版本已于 2024 年 5 月 20 日正式发布。该版本在功能特性上对数据湖、物化视图、负载管理等方面进行了多项更新,进一步简化湖仓一体架构、加速了查询性能;同时提交了若干改进项以及问题修复,进一步提升了系统的性能及稳定性,欢迎大家下载体验。

官网下载: https://doris.apache.org/download/

GitHub 下载: https://github.com/apache/doris/releases

功能特性

1. 支持通过 Hive Catalog 向 Hive 表中回写数据

从 2.1.3 版本开始,Apache Doris 支持对 Hive 的 DDL 和 DML 操作。用户可以直接通过 Apache Doris 在 Hive 中创建库表,通过执行INSERT INTO语句来向 Hive 表中写入数据。通过该功能,用户可以通过 Apache Doris 对 Hive 进行完整的数据查询和写入操作,进一步帮助用户简化湖仓一体架构。

参考文档:https://doris.apache.org/docs/lakehouse/datalake-building/hive-build/

2. 支持在异步物化视图之上构建新的异步物化视图

用户可以在异步物化视图之上来创建新的异步物化视图,直接复用计算好的中间结果进行数据加工处理,简化复杂的聚合和计算操作带来的资源消耗和维护成本,进一步加速查询性能、提升数据可用性。

3. 支持通过物化视图嵌套物化视图进行重写

物化视图(Materialized View,MV)是用于存储查询结果的数据库对象。现在,Apache Doris 支持通过 MV 嵌套物化视图进行重写,这有助于优化查询性能。

4. 新增 SHOW VIEWS 语句

可以使用SHOW VIEWS语句来查询数据库中的视图,有助于更好地管理和理解数据库中的视图对象。

5. Workload Group 支持绑定到特定的 BE 节点

Workload Group 可以绑定到特定的 BE 节点,实现查询执行的更精细化控制,以优化资源使用和提高性能。

6. Broker Load 支持压缩的 JSON 格式

Broker Load 支持导入压缩的 JSON 格式数据,可以显著减少数据传输的带宽需求、加速数据导入性能。

7. TRUNCATE 函数可以使用列作为 scale 参数

TRUNCATE 函数现在可以接受列作为 scale 参数,这使得在处理数值数据时可以更加灵活。

8. 添加新的函数 uuid_to_intint_to_uuid

这两个函数允许用户在 UUID 和整数之间进行转换,对于需要处理 UUID 数据的场景有明显帮助。

9. 添加 bypass_workload_group Session Variable 以绕过查询队列

会话变量 bypass_workload_group 允许某些查询绕过 Workload Group 队列直接执行,这可以用于处理需要快速响应的关键查询。

10. 添加 strcmp 函数

strcmp 函数用于比较两个字符串并返回它们的比较结果,帮助文本数据的处理更加简易。

11. 支持 HLL 函数 hll_from_base64hll_to_base64

HLL(HyperLogLog)是一种用于基数估计的算法,以上两个函数允许用户将 HLL 数据从 Base64 编码的字符串中解码,或将 HLL 数据编码为 Base64 字符串,这对于存储和传输 HLL 数据非常有用。

优化改进

1. 替换 SipHash 为 XXHash 以改善 Shuffle 性能

SipHash 和 XXHash 都是哈希函数,但 XXHash 在某些场景下可能提供更快的哈希速度和更好的性能,此优化旨在通过采用 XXHash 来提高数据 Shuffle 过程中的性能。

2. 异步物化视图支持 OLAP 表分区列为可以为 NULL:

允许异步物化视图支持 OLAP 表的分区列可以为 NULL,从而增强了数据处理的灵活性。

3. 收集列统计信息时限制最大字符串长度为 1024 以控制 BE 内存使用

在收集列统计信息时,限制字符串的长度可以防止过大的数据消耗过多的 BE 内存,有助于保持系统的稳定性和性能。

4. 支持动态删除 Bitmap Cache 以提高性能

通过支持动态删除不再需要的 Bitmap Cache,可以释放内存并改善系统性能。

5. 在 ALTER 操作中减少内存使用

减少 ALTER 操作中的内存使用,以提高系统资源的利用效率。

6. 支持复杂类型的常量折叠

支持 Array/Map/Struct 复杂类型的常量折叠;

7. 在 Aggregate Key 聚合模型中增加对 Variant 类型的支持

Variant 数据类型能够存储多种数据类型,在此优化中允许对 Variant 类型的数据进行聚合操作,从而增强了半结构化数据分析的灵活性。

8. 在 CCR 中支持新的倒排索引格式

9. 优化嵌套物化视图的重写性能

10. 支持 decimal256 类型的行存格式

在行存格式中支持 decimal 256 类型,以以扩展系统对高精度数值数据的处理能力。

行为变更

1. 授权(Authorization)

  • Grant_priv 权限更改Grant_priv不能再被任意授予。执行 GRANT 操作时,用户不仅需要具有Grant_priv,还需要具有要授予的权限。例如,如果想要授予对table1SELECT 权限,那么该用户不仅需要具有 GRANT 权限,还需要具有对table1SELECT 权限,这增加了权限管理的安全性和一致性。

  • Workload Group 和 Resource 的 Usage_privUsage_priv 对 Workload Group 和 Resource 的权限不再是全局级别的,而是仅限于 Resource 和 Workload Group 内,权限的授予和使用将更加具体。

  • 操作的授权:之前未被授权的操作现在都有了相应的授权,以实现更加细致和全面地操作权限控制。

2. LOG 目录配置

FE 和 BE 的日志目录配置现在统一使用LOG_DIR环境变量,所有其他不同类型的日志都将以LOG_DIR作为根目录进行存储。同时为了保持版本间的兼容性,以前的配置项sys_log_dir仍然可以使用。

3. S3 表函数(TVF)

由于之前的解析方式在某些情况下可能无法正确识别或处理 S3 的 URL,因此将对象存储路径的解析逻辑进行重构。对于 S3 表函数中的文件路径,需要传递force_parsing_by_standard_uri参数来确保被正确解析。

升级问题

由于许多用户将某些关键字用作列名或属性值,因此将如下关键字设置为非保留关键字,允许用户将其用作标识符使用。

问题修复

1. 修复在腾讯云 COSN 上读取 Hive 表时的无数据错误

解决了在腾讯云 COSN 存储上读取 Hive 表时可能遇到的无数据错误,增强了与腾讯云存储服务的兼容性。

2. 修复 milliseconds_diff 函数返回错误结果

修复milliseconds_diff函数在某些情况下返回错误结果的问题,确保了时间差计算的准确性。

3. 用户定义变量应转发到 Master 节点

确保用户定义的变量能够正确地传递到 Master 节点,以便在整个系统中保持一致性和正确的执行逻辑。

4. 修复添加复杂类型列时遇到的 Schema Change 问题

在添加复杂类型列时,可能会遇到 Schema Change 问题,此修复确保了 Schema Change 的正确性。

  1. 修复 FE master 节点更改时 Routine Load 的数据丢失问题

Routine Load常用于订阅 Kafka 消息队列中的数据,此修复解决了在 FE Master 节点更改时可能导致的数据丢失问题。

6. 修复当找不到 Workload Group 时 Routine Load 失败的问题

修复了当Routine Load找不到指定 Workload Group 时导致的失败问题。

7. 支持 column string64,以避免在 string size 溢出 unit32 时 Join 失败的问题

在某些情况下,字符串的大小可能会超过 unit32 的限制,支持string64类型可以确保字符串 JOIN 操作的正确执行。

8. 允许 Hadoop 用户创建 Paimon Catalog

允许具有权限的对应 Hadoop 用户来创建 Paimon Catalog。

9. 修复 function_ipxx_cidr 函数与常量参数的问题

修复了function_ipxx_cidr函数在处理常量参数时可能出现的问题,保证函数执行的正确性。

10. 修复使用 HDFS 进行还原时的文件下载错误

解决了在使用 HDFS 进行数据还原时遇到的“failed to download”错误,确保了数据恢复的正确性和可靠性。

11. 修复隐藏列相关的列权限问题

在某些情况下,隐藏列的权限设置可能不正确,此修复确保了列权限设置的正确性和安全性。

12. 修复在 K8s 部署中 Arrow Flight 无法获取正确 IP 的问题

此修复解决了在 Kubernetes 部署环境中 Arrow Flight 无法正确获取 IP 地址的问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/18301.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

简单的网页分享按钮代码

创建一个网页分享按钮通常涉及到HTML、CSS和JavaScript的组合使用。下面是一个简单的示例代码,展示了如何创建一个包含微博、QQ和QQ空间分享的按钮。请注意,这只是一个前端的实现示例,实际分享功能需要依赖于相应的社交媒体平台提供的API或分…

Flutter 中的 CompositedTransformFollower 小部件:全面指南

Flutter 中的 CompositedTransformFollower 小部件:全面指南 在Flutter的动画和视觉效果世界中,CompositedTransformFollower是一个高级组件,它允许开发者创建复杂的跟随动画。这个小部件通常用于实现视差效果或者当一个组件需要跟随另一个组…

New Phytologist:杨树特有miRNA在调控杨树抗旱中的分子机制

2024年3月6日,林木遗传育种全国重点实验室、北京林业大学生物科学与技术学院尹伟伦与夏新莉教授课题组在New Phytologist(中科院一区,影响因子9.4)期刊发表了题为“The miR6445-NAC029 module regulates drought tolerance by reg…

CSS:transform作用

transform作用 介绍常用函数:1.平移(Translate)介绍代码举例 2.旋转(Rotate)介绍代码举例 3.缩放(Scale)介绍代码举例 4.倾斜(Skew)介绍代码举例 5.矩阵变换(…

selenium 学习笔记(一)

pip的安装 新建一个txt curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py 把上面的代码复制进去后,把后缀名改为.bat然后双击运行 当前目录会出现一个这个文件 然后在命令行pyhon get-pip.py等它下好就可以了selenium安装 需要安装到工程目…

linux查看是否被入侵(二)

1、检查异常系统文件 [rootbastion-IDC ~]# find / -uid 0 -perm -4000 -print [rootbastion-IDC ~]# find / -size 10000k –print [rootbastion-IDC ~]# find / -name "…" –print [rootbastion-IDC ~]# find / -name ".." –print [rootbastion-I…

云计算-Lambda事件 (Lambda Events)

检索事件信息 (Retrieving Event Information) 在上一个主题中,我们已经看到了如何创建一个Lambda函数、添加handler、添加触发器和配置执行策略。在本主题中,我们将对其进行扩展。到目前为止,我们看到的handler应用非常简单,但我…

香橙派——创建Service打开热点

文章目录 要创建一个service来创建热点,你可以按照以下步骤进行操作: 创建一个service文件: sudo vim /etc/systemd/system/hotspot.service这将使用nano编辑器创建一个新的service文件。 在打开的文件中,添加以下内容&#xff1…

linux 定时执行shell、python脚本

在linux里设置定时执行一般是用crontab,如果没有的话,可以先安装: 安装 查看是否安装 cron -v # 对于基于Debian的系统(如Ubuntu) sudo apt-get install cron# 对于基于RedHat的系统(如CentOS&#xff…

【5】:三维到二维变换(模型、视图、投影)

观测变换 物体上某一点的坐标变换顺序:M->V->P MVP变换用来描述视图变换的任务,即将虚拟世界中的三维物体映射(变换)到二维坐标中。 1.Model Transformation 模型变换 场景中每个物体上的某一点,从局部坐标系…

YoloV8实战:各种图绘制汇总(mAP50、mAP50-95、loss、PR_curve、F1_curve)|科研必备|绘图神器

摘要 本文的内容是告诉大家如何绘制mAP50、mAP50-95、loss、PR_curve、F1_curve等图像,方便大家写论文。 绘制mAP50、mAP50-95、loss等图。 先上效果,如下图: 首先将,训练的result.csv汇总到一个文件夹下面(这样方便寻找),要不然找起来太麻烦。如下图: 我都放到re…

Pyinstaller打包exe文件解决指南

打包命令 打包 Python 文件 输入如下格式的命令即可 默认命令 Pyinstaller 文件名.py Pyinstaller -option1 -option2 -... 要打包的文件 Pyinstaller 文件名.pyPyinstaller -option1 -option2 -... 要打包的文件 参数选项比较多,这里我列一个表:…

onnx模型转换到rknn脚本

from rknn.api import RKNN ONNX_MODEL ./onnx_models/yolov5s_rm_transpose.onnx # platform"rk1808" platform "rv1109" RKNN_MODEL yolov5s_relu_{}_out_opt.rknn.format(platform) if __name__ __main__: add_perm False # 如果设置成True,则将模…

[C#]winform部署官方yolov10目标检测的onnx模型

【框架地址】 https://github.com/THU-MIG/yolov10 【算法介绍】 今天为大家介绍的是 YOLOv10,这是由清华大学研究团队最新提出的,同样遵循 YOLO 系列设计原则,致力于打造实时端到端的高性能目标检测器。 方法 创新 双标签分配策略 众所…

灯塔工厂产业数字化平台解决方案(50页PPT)

方案介绍: 随着工业4.0和智能制造的快速发展,传统工厂正面临着转型升级的迫切需求。为了提升生产效率、优化资源配置、增强市场竞争力,我们推出了灯塔工厂产业数字化平台解决方案。该方案旨在通过先进的信息技术手段,将传统工厂转…

ROS 程序框架

ROS 程序框架 基本思路(以C为例) 使用catkin_create_pkg创建一个软件包在软件包的src文件夹下创建一个节点的cpp源码文件在节点的源码文件中include包含ROS的头文件构建一个main函数,并在函数的开头执行ros::init()构建while循环&#xff0…

蒙特卡洛法求解机械臂工作空间(以IRB4600型工业机械臂为例)

1. 概念 工作空间是衡量机器人工作能力的一个重要的运动学指标,蒙特卡洛法是一种随机模拟方法,用于在计算机上估计某些统计量,对于要估计的统计量,通过模拟大量的随机抽样,并计算这些样本的随机值来估算这个统计量的值…

数字信号处理实验三:IIR数字滤波器设计及软件实现

一、实验目的 1. 掌握MATLAB中进行IIR模拟滤波器的设计的相关函数的应用; 2. 掌握MATLAB的工具箱中提供的常用IIR数字滤波器的设计函数的应用; 3.掌握MATLAB的工具箱中提供的模拟滤波器转数字滤波器的相关的设计函数的应用。 二、实验内容 本实验为…

CC1310 Debug interface is locked

XDS110连接CC1310板子,打开Smart RF 弹出窗口如下: 解决办法: 1 打开SmartRF Flash Programmer 2 选择连接的设备CC1310, 弹出如下窗口,点击OK。 3 点击Tools图标,选择CC26XX/CC13XX Forced Mass Erase。 4 在弹出的…

Windows11系统安装QEMU虚拟化软件

Windows11系统安装QEMU虚拟化软件 QEMU软件是一个通用的开源机器模拟器和虚拟机。本文档适用于在Windows 11系统平台上安装QEMU软件。 1. 安装准备 1.1 安装平台 Windows 11 1.2. 软件信息 软件名称软件版本安装路径QEMUQEMU-8.2.93D:\qemu 1.3软件下载 QEMU官网官网下…