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

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

欢迎查阅本周的 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 KaTeX parse error: Expected '}', got 'EOF' at end of input: {LIMIT:+{LIMIT}} " D O R I S H O M E / l i b / d o r i s b e " " {DORIS_HOME}/lib/doris_be" " DORISHOME/lib/dorisbe""@" 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,建议直接多个磁盘目录即可。

其它问题

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

💡A 如下:

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

关于社区

Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。

如果您对 Apache Doris 感兴趣,可以通过以下入口访问官方网站、社区论坛、GitHub和dev邮件组:

💡官方文档

💡社区论坛

💡GitHub

💡dev邮件组:dev@doris.apache.org

非常欢迎您在社区论坛中与其他用户分享您的使用经验和技巧,或者向dev邮件组提交反馈和意见。

相信,您的参与将帮助Apache Doris变得更加完善。

相关推荐
Data跳动19 分钟前
Spark内存都消耗在哪里了?
大数据·分布式·spark
woshiabc1111 小时前
windows安装Elasticsearch及增删改查操作
大数据·elasticsearch·搜索引擎
lucky_syq2 小时前
Saprk和Flink的区别
大数据·flink
lucky_syq2 小时前
流式处理,为什么Flink比Spark Streaming好?
大数据·flink·spark
袋鼠云数栈2 小时前
深入浅出Flink CEP丨如何通过Flink SQL作业动态更新Flink CEP作业
大数据
小白学大数据3 小时前
如何使用Selenium处理JavaScript动态加载的内容?
大数据·javascript·爬虫·selenium·测试工具
15年网络推广青哥3 小时前
国际抖音TikTok矩阵运营的关键要素有哪些?
大数据·人工智能·矩阵
节点。csn4 小时前
Hadoop yarn安装
大数据·hadoop·分布式
arnold664 小时前
探索 ElasticSearch:性能优化之道
大数据·elasticsearch·性能优化
NiNg_1_2345 小时前
基于Hadoop的数据清洗
大数据·hadoop·分布式