【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变得更加完善。

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-10 12:12:08       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-10 12:12:08       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-10 12:12:08       82 阅读
  4. Python语言-面向对象

    2024-06-10 12:12:08       91 阅读

热门阅读

  1. ffmpeg将一个视频中的音频合并到另一个视频

    2024-06-10 12:12:08       37 阅读
  2. PyTorch 开发环境快速安装

    2024-06-10 12:12:08       31 阅读
  3. 【C++小知识】基于范围的for循环(C++11)

    2024-06-10 12:12:08       26 阅读
  4. 使用【AbortController】终止请求

    2024-06-10 12:12:08       31 阅读
  5. 设计模式之工厂模式

    2024-06-10 12:12:08       30 阅读
  6. 百度之星2022题目记录

    2024-06-10 12:12:08       35 阅读
  7. UE5实战篇二(对话系统1):导语

    2024-06-10 12:12:08       33 阅读
  8. oj数据库名字总结

    2024-06-10 12:12:08       33 阅读
  9. Python高级编程:数据分析与数据可视化

    2024-06-10 12:12:08       29 阅读
  10. 轻量化微调使用场景对比

    2024-06-10 12:12:08       28 阅读
  11. web前端大数据:挑战、机遇与未来发展

    2024-06-10 12:12:08       32 阅读