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

2024-06-13 1180阅读

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

  • SQL问题
  • 数据操作问题
  • 运维常见问题
  • 其它问题
  • 关于社区

    【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" " DORISH​OME/lib/dorisb​e""@” 2>&1

    💡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】周FAQ集锦:第 5 期

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

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

    💡官方文档

    💡社区论坛

    💡GitHub

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

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

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

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]