![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
impala相关
文章平均质量分 89
约翰-117
这个作者很懒,什么都没留下…
展开
-
openSUSE环境Impala编译步骤
若进行了此操作,impala编译完成之后,需要把lib/libstdc++.so* 替换为/usr/lib64/libstdc++.so*(不同环境可能位置不同,可执行find /usr -name libstdc++.so*确认)。在其他toolchain全部编译完成后可以执行./buildall.sh,或执行./build.sh curl单独编译。编译LLVM时,可能出现与GCC相同的报错,需进行类似的修改,注释掉相同的CHECK函数;原创 2024-02-23 10:01:12 · 362 阅读 · 1 评论 -
浅析Impala中的字典编解码
Parquet文件格式使用了RLE/Bit-Packing混合编码算法,Impala读取Parquet文件的过程也实现了对应的解码算法,本文一方面作为调研Impala中RLE/Bit-Packing混合解码的记录,另一方面保留一些用于后续SIMD优化的资料,希望对后续的SIMD优化编解码有所帮助。原创 2024-02-14 23:57:19 · 927 阅读 · 1 评论 -
Doris中SIMD相关实现简析
Doris是一个基于MPP架构的OLAP查询引擎,实现了执行层面的向量化引擎。本文简要介绍SIMD相关基本概念,并举例分析Doris向量化引擎中的两个SIMD相关优化实现。原创 2024-02-14 23:39:37 · 869 阅读 · 1 评论 -
Impala DML执行流程解析(以CTAS/INSERT为例)
执行计划Impala执行DML查询的执行计划与普通SELECT相同,从EXPLAIN的结果中可以看出,执行计划基本没有区别,左边为普通SELECT查询的执行计划,右边为CTAS建表的执行计划,只是多了一个写入hdfs的部分。 执行过程分析代码可以发现,Impala在接收查询的入口处将查询分为多种,大致如以下伪代码所示: switch (exec_request_.stmt_type) { case TStmtType::QUERY: //普通查询和DML一起处理 case TS原创 2022-02-02 01:15:36 · 935 阅读 · 0 评论 -
Impala Join策略与执行计划生成
众所周知,JOIN是两个表进行关联进而得到结果的操作,在SQL层面,JOIN可以有左连接、右连接、全连接、内连接等多种用法。但对于Impala,主要的JOIN策略只有两种——Broadcast Join和Partitioned Join。本文将结合Impala代码对Impala选择Join策略的过程进行分析。原创 2022-02-02 00:39:17 · 1706 阅读 · 0 评论 -
Impala主要RPC实现及执行过程浅析(以DataStreamService为例)
Impala目前主要使用Krpc和Thrift两种RPC框架,其中Krpc主要实现查询数据传输、状态控制等功能,Thrift主要用于在元数据同步、节点状态同步等功能。本文从DataStreamService::TransmitData和DataStreamService::EndDataStream出发,简要分析Impala中RPC的实现原理和执行过程。原创 2024-02-14 23:29:10 · 1119 阅读 · 1 评论