IT资讯 Doris Weekly:支持 sql 黑名单功能

dewey · 2021-08-23 16:00:07 · 热度: 37

Doris Weekly:支持 sql 黑名单功能

观众朋友们:

下午好!

欢迎收看【 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 --

猜你喜欢:
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册