观众朋友们:
下午好!
欢迎收看【 Doris 近日要闻】~本次为您带来的是 2021年08月02日 ~ 2021年08月15日 的双周总结。
Doris 社区周报每期会包含 FAQ 环节。我们会在社区论坛、Github ISSUE、Dev邮件组以及微信用户群中挑选一些主要问题并在 FAQ 环节中进行解答。
-
Dev 邮件组:dev@doris.apache.org
-
Github Issue:https://github.com/apache/incubator-doris/issues
-
社区论坛地址:https://github.com/apache/incubator-doris/discussions
1. 统计数据
共29位作者提交了55个 Commit 。感谢以下作者的贡献:
Mingyu Chen, stdpain, qiye, jiafeng.zhang, caiconghui, Pxl, zhangboya1, xy720, luozenglin, CenterCode, zhangstar333, wunan1210, wudi, weizuo93, tinkerrrr, huangmengbin, dixingxing, Zhanfeng Huo, Wang Shuo, Stalary, Qi, PKU-zhoubintao, Lijia Liu, JinLiOnline, HappenLee, Hao Tan, GoGoWen, GeoffreyStark, EmmyMiao87
最近2周,共修改新增代码行 20641 ,删除代码行 3108 。
2. 主要进展
2.1 新增功能
-
https://github.com/apache/incubator-doris/pull/6335
支持通过 alter routine load 语句修改 routine load 的 broker list 和 topic
-
https://github.com/apache/incubator-doris/pull/6219
支持通过 show data skew 命令查看表的数据量分布,以排查数据倾斜问题。
-
https://github.com/apache/incubator-doris/pull/6261
支持通过create alias function 创建函数别名来组合多个函数。
-
https://github.com/apache/incubator-doris/pull/6289
支持通过create sync job命令直接订阅和消费canal解析的binlog数据。方便同步 mysql 数据源。
-
https://github.com/apache/incubator-doris/pull/6247
https://github.com/apache/incubator-doris/pull/6323
支持通过 show trash 命令查看BE文件回收站的磁盘占用情况。
支持通过 clean trash 命令主动清除BE文件回收站的内容。
-
https://github.com/apache/incubator-doris/pull/6387
支持通过alter table 命令修改列注释和表注释。
-
https://github.com/apache/incubator-doris/pull/6394
支持通过 pause/resume all routine load命令一键启停所有routine load job。
-
https://github.com/apache/incubator-doris/pull/6192
支持sql 黑名单功能。
2.2 WIP
-
https://github.com/apache/incubator-doris/pull/6396
增加 doris manager 相关的 http 接口。
-
https://github.com/apache/incubator-doris/pull/6329
增加向量化执行引擎相关接口。
2.3 Bug修复
-
https://github.com/apache/incubator-doris/pull/6342
修复 routine load 一个潜在的导致 TOO_MANY_TASKS 错误的问题。
-
https://github.com/apache/incubator-doris/pull/6348
修复 decimal 类型的 bloom filter 数据hash值有误的问题。
-
https://github.com/apache/incubator-doris/pull/6308
修复 broker 读取 oss/s3a 存储介质失败的问题。
-
https://github.com/apache/incubator-doris/pull/6347
修复一个Array 类型越界的问题。
-
https://github.com/apache/incubator-doris/pull/6374
修复部分情况下,查询information_schema的ROUTINES表报错的问题。
-
https://github.com/apache/incubator-doris/pull/6379
修复部分情况下,left semi join查询报错的问题。
-
https://github.com/apache/incubator-doris/pull/6374
-
修复部分情况下,查询information_schema的ROUTINES表报错的问题。
-
https://github.com/apache/incubator-doris/pull/6374
-
修复部分情况下,查询information_schema的ROUTINES表报错的问题。
2.4 功能改进
-
https://github.com/apache/incubator-doris/pull/6339
FE端常量表达式支持 timestamp 函数。
-
https://github.com/apache/incubator-doris/pull/6361
提升BE端整型转字符串类型的效率。
-
https://github.com/apache/incubator-doris/pull/6350
优化money_format函数效率。
-
https://github.com/apache/incubator-doris/pull/6321
优化BE端扫描错误文件时的锁竞争问题。
-
https://github.com/apache/incubator-doris/pull/6365
优化compaction选取逻辑以支持对增加执行alter操作的数据分片进行compaction。避免潜在的数据版本堆积问题。
-
https://github.com/apache/incubator-doris/pull/6243
flink-doris-connector支持设置stream load相关参数。
-
https://github.com/apache/incubator-doris/pull/6373
DataX doriswriter插件支持使用csv格式进行数据导入。
2.5 文档
-
https://github.com/apache/incubator-doris/pull/6344
https://github.com/apache/incubator-doris/pull/6349
https://github.com/apache/incubator-doris/pull/6352
https://github.com/apache/incubator-doris/pull/6353
增加 stream load 、mybatis、flink cdc代码示例。
增加systemd配置文件示例。
3. FAQ
Q:invalid cluster id: xxxx
A:
这个错误可能会在show backends 或 show frontends 命令的结果中出现。通常出现在某个FE或BE节点的错误信息列中。这个错误的含义是,Master FE向这个节点发送心跳信息后,该节点发现心跳信息中携带的 cluster id和本地存储的 cluster id不同,所以拒绝回应心跳。
Doris的 Master FE 节点会主动发送心跳给各个FE或BE节点,并且在心跳信息中会携带一个cluster_id。cluster_id是在一个集群初始化时,由Master FE生成的唯一集群标识。当FE或BE第一次收到心跳信息后,则会将cluster_id以文件的形式保存在本地。FE的该文件在元数据目录的image/目录下,BE则在所有数据目录下都有一个cluster_id文件。之后,每次节点收到心跳后,都会用本地cluster_id的内容和心跳中的内容作比对,如果不一致,则拒绝响应心跳。
该机制是一个节点认证机制,以防止接收到集群外的节点发送来的错误的心跳信息。
如果需要恢复这个错误。首先要先确认所有节点是否都是正确的集群中的节点。之后,对于FE节点,可以尝试修改元数据目录下的 image/VERSION 文件中的 cluster_id 值后重启FE。对于BE节点,则可以删除所有数据目录下的 cluster_id 文件后重启 BE。
Q:Doris 是否支持修改列名?
A:
不支持修改列名。
Doris支持修改数据库名、表名、分区名、物化视图(Rollup)名称,以及列的类型、注释、默认值等等。但遗憾的是,目前不支持修改列名。
因为一些历史原因,目前列名称是直接写入到数据文件中的。Doris在查询时,也是通过类名查找到对应的列的。所以修改列名不仅是简单的元数据修改,还会涉及到数据的重写,是一个非常重的操作。
我们不排除后续通过一些兼容手段来支持轻量化的列名修改操作。
Q:Unique Key模型的表是否支持创建物化视图?
A:
不支持。
Unique Key模型的表是一个对业务比较友好的表,因为其特有的按照主键去重的功能,能够很方便的同步数据频繁变更的业务数据库。因此,很多用户在将数据接入到Doris时,会首先考虑使用Unique Key模型。
但遗憾的是,Unique Key模型的表是无法建立物化视图的。原因在于,物化视图的本质,是通过预计算来将数据“预先算好”,这样在查询时直接返回已经计算好的数据,来加速查询。在物化视图中,“预计算”的数据通常是一些聚合指标,比如求和、求count。这时,如果数据发生变更,如udpate或delete,因为预计算的数据已经丢失了明细信息,因此无法同步的进行更新。比如一个求和值5,可能是 1+4,也可能是2+3。因为明细信息的丢失,我们无法区分这个求和值是如何计算出来的,因此也就无法满足更新的需求。
-- END --
猜你喜欢: