学习地址1:https://pan.baidu.com/s/1joHFuWdo7WbwpP7hwZ1GMg 提取码:cgss 学习地址2:https://share.weiyun.com/OL2DSs1X 密码:srevyt
一、什么是Doris Doris 是一个 MPP 的 OLAP 系统,主要整合了 Google Mesa(数据模型),Apache Impala(MPP Query Engine) 和 Apache ORCFile (存储格式,编码和压缩) 的技术。
二、Doris得作用 1、对数据分析、统计 2、报表 3、多维分析 4、Doris 是从百度内部自主研发并贡献到 Apache 开源社区的 ROLAP 数据库。 5、Doris 整合了 Google Mesa(数据模型),Apache Impala(MPP Query Engine) 和 Apache ORCFile (存储格式,编码和压缩) 技术,在数据查询延迟上表现非常突出。 6、Doris 的聚合模型主要用于数据的汇总分析,明细模型主要用于明细数据的查询。 7、相对于 Kylin 只支持汇总模型,Doris 适用的数据场景更加广泛。
三、Doris核心技术特点: 存储模型:聚合模型,唯一Key模型,重复Key模型。通过Catalog方式接入外部数据源 丰富索引:倒排索引,排序索引,布隆过滤器,范围索引等。 查询:向量化计算,MPP查询,支持多表Join 智能优化器:支持CBO和RBO PipeLine执行:算子粒度并发级别调整 多态Schema:自动拓展Schema(2.0) 文本字段倒排索引,布隆过滤,实现类ES文本索引功能 湖仓一体:湖仓加速,元数据打通,支持Catalog 物化视图:单表物化,多表物化 对比Trino(Presto)有3倍的性能提升 高度兼容Mysql协议,支持高并发,多表Join性能好,支持事务导入,支持物化视图,支持实时和离线导入,支持联邦查询,支持倒排索引 应用案例:主要有画像,用户行为分析,日志分析,实时、离线报表分析
四、Doris安装过程 安装工具:下文中的 toolkit 关注点: 1 首先,需要配置集群拓扑文件,提供部署新集群的参数信息。你可以执行如下命令,生成简易版的集群拓扑文件样例,然后按需调整: dorisctrl cluster template > doris-topo.yaml 内容如下: [root@node104 ~]# cat doris-topo.yaml global: user: root ssh_port: 22 deploy_dir: /opt/selectdb
frontends:
- host: fe104
- host: fe174
- host: fe117
backends:
- host: be118
- host: be119
- host: be173 2 执行部署命令(这个命令空格啥的都很重要!) cluster deploy edudoris(集群名) -v 1.2.1.1 -f doris-topo.yaml
五、Flink部署 注意: 1 slot改成100 (CDC表一个表占用一个slot,同步表多了小心不够用!) 2 flink1:8081 3 提交任务(这2个sql文件是下文python脚本生成!!!) -- doris建表 ssh -t -t $FEIP ssh $FEIP " mysql -h$FEIP -uroot -p密码 -P9030 -e'source /root/sink2doris.sql;'" -- 提交flinkJob 开始数据同步 cd /flink/bin/ ./sql-client.sh -f /flinksync/output/mysql2sink.sql 离线数据同步脚本(Doris官方提供BUT需要修改!!!) mysql to doris 主要适用于自动化创建doris odbc 表,主要用shell脚本实现。 官网给的此脚本内容自己下载mysql_to_doris.tar.gz解压即可查看,这里看看我改变的部分吧: 1 bin/run.sh 保持原样、勿动! vi /root/mysql_to_doris/conf/doris_tables vi /root/mysql_to_doris/conf/mysql_tables vi /root/mysql_to_doris/conf/env.conf
sh bin/run.sh -o
#建表并同步数据 sh mysql_to_doris/bin/run.sh -o -t JDBC -e -i
失败看日志
/root/mysql_to_doris/conf/error.log
六、实战Flink+Doris实时数仓 如果说Flink作为实时计算利器是不二选择,那么Doris是实时数仓的最佳选择。Apache Doris是一款开源的MPP分析型数据库产品,不仅能够在压秒级响应时间即可获得查询结果,有效的支持实时数据分析,而且支持10PB以上的超大的数据集。相较于其他业界比较火的OLAP数据库系统,Doris的分布式架构非常简洁,支持弹性伸缩,易于运维,节省大量人力和时间成本。目前国内社区火热,也有美团、小米等大厂在使用。 相较于数据仓库工具Kylin和Clickhouse,Doris支持更多的功能,具备明细的优势。