暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【Apache Doris】周FAQ集锦:第 5 期

一臻数据 2024-03-31
39

  引言   

欢迎查阅本周的 Apache Doris 社区 FAQ 栏目!

在这个栏目中,每周将筛选社区反馈的热门问题和话题,重点回答并进行深入探讨。旨在为广大用户和开发者分享有关 Apache Doris 的常见问题。

通过这个每周 FAQ 栏目,希望帮助社区小伙伴更好地了解和应用 Apache Doris,促进经验交流和技术共享。


 






      SQL问题      

Q1 如何查看异步物化视图的创建刷新时间?

A1 select *  from mv_infos('database'='db') where Name = 'mv_name' \G;
具体可查阅2.1异步物化视图相关表函数: 
https://doris.apache.org/zh-CN/docs/sql-manual/sql-functions/table-functions/mv_infos
Q2 如何修改表的副本数?
A2 如下:
1. 机器节点数需要 >= 副本数
2. 修改历史分区副本数:alter table modify partition(*) set ("replication_num" = "3");
3. 动态分区修改未来分区副本数:ALTER TABLE example_db.mysql_table  SET ("dynamic_partition.replication_num" = "3");
4. 非分区表:ALTER TABLE example_db.mysql_table SET ("replication_num" = "3");




      数据操作问题      

Q1 mysql与doris的varchar长度映射关系如何?

A1 如下:
MySQL Varchar * 3 = Doris Varchar

原因:
1. MySQL 中 varchar(n) 中括号中 n 代表字符的个数,并不代表字节个数
2. Doris 中 VARCHAR(M) 中括号M代表字符的长度
3. 英文字符占1个字节,中文字符占3个字节,因此直接将现有 Doris 表中 varchar 类型字段长度调整为原来的 3 倍(即能兼容全是中文字符的情况)

Q2 insert into select慢怎么排查?
A2 insert into select 慢,可以根据这个流程排查下:
1. 通过设置session var dry_run_query = true 来对问题进行细分:
 a. 如果设置 dry_run_query = true 之后变快很多,那么就是数据分发以及存储节点慢了;
 b. 如果设置 dry_run_query = true 之后依然很慢或者跑不出来,那么就是查询慢了。

-- dry_run_query = true 时,只跑查询部分,不在跑数据分发以及存储,所以可以用来快速排查是不是查询慢了。
-- 2.0.2-rc05 之后支持的
注意:dry_run_query 不要设置为 global,并且打开后需要设置回去,不然会查不到数据。

2. 如果是数据分发或者存储节点慢
可以通过 top -H 以及 IOutil 的信息来判断是 cpu 还是 IO 瓶颈

具体可以查阅Doris论坛帖子:
https://ask.selectdb.com/questions/D1tg/jie-jue-fang-an-insert-into-select-man-pai-cha-fang-fa
Q3 多副本表多次查询结果不一致
A3 如下:
1. 确认上游是否存在实时更新数据的情况
2. 指定分片  set use_fix_replica = 0; 默认-1、随机查一个副本,看结果是否唯一
3. 定位到1个tablet,排查该tablet的3个副本的version是不是相同的,若不一致则置空不正确的副本,自动修复一份即可:
ADMIN SET REPLICA STATUS PROPERTIES("tablet_id" = "10001""backend_id" = "20001""status" = "bad");




      运维常见问题      

Q1 启动be报异常:./start_be.sh: line 246: 66385 Aborted ${LIMIT:+${LIMIT}} "${DORIS_HOME}/lib/doris_be" "$@" 2>&1 < dev/null

A1 如下:
1. 一般是doris包和机器cpu架构不匹配:be/lib/doris_be -v 和 uname -a 看看型号是否匹配
2. max_map_count等必调参数被改动
3. 其它原因可在be start脚本中加日志定位或社区论坛发帖求助

Q2 是否有方法可以手动均衡某个节点的数据?

A2 一般be节点间会自动均衡,手动触发迁移tablet api: 
https://doris.apache.org/zh-CN/docs/dev/admin-manual/http-actions/be/tablet-migration
Q3 profile是否建议全局开启
A3 不建议全局开启profile,因为开启profile会正常查询造成影响,耗时会增大;建议在使用时session级别开启profile即可。
Q4 doirs是否和hadoop一样只需要裸盘,不需要做raid
A4 不需要raid,建议直接多个磁盘目录即可。



      其它问题      

doris表的key列为什么必须要放在其他列前面?

如下: 
1. 方便排序检索 
2. 提高可读性,清晰地看到每行数据的唯一标识 
3. 提升查询性能,例如前缀索引等场景:
https://doris.apache.org/zh-CN/docs/data-table/index/index-overview/








关于社区






Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。 
如果您对 Apache Doris 感兴趣,可以通过以下入口访问官方网站、社区论坛、GitHub和dev邮件组:
💡官网文档:https://doris.apache.org 
💡社区论坛:https://ask.selectdb.com 
💡GitHub:https://github.com/apache/doris 
💡dev邮件组:dev@doris.apache.org
非常欢迎您在社区论坛中与其他用户分享您的使用经验和技巧,或者向dev邮件组提交反馈和意见。
相信,您的参与将帮助Apache Doris变得更加完善。

▼   点击阅读原文,发现更多精彩!

文章转载自一臻数据,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论