Apache Impala
- impala 介绍
- 基于hive的数仓工具 提供了准实时的交互式sql查询分析能力 和hive共用一套元数据存储
- hive是基于hadoop的数仓工具 提供了sql分析数据的能力 批处理数据分析工具
- 是企业中 imapla通常配合hive一起进行数仓数据分析
- 来自于cloudera 后来贡献给了apache
- impala和hive的关系
和hive共用一套元数据的存储 - impala和hive的区别
-
执行机制
hive: hive sql–>mr—>yarn—>hdfs
最大的弊端在于mr执行中资源申请消耗数据之间的shuffle。尤其涉及多个mr程序串联 影响会放大impala:impala sql-->执行计划数-->hdfs
-
语言层面
hive:java 依赖于jvm 涉及启动销毁 属于偏上层语言。
impala: C++ 偏向于底层语言 可以更好的调用系统资源 -
数据流
hive :推的方式 前述节点计算完毕数据退给后续节点计算
impala:拉的方式 不断调用获取前述节点的计算结果 边拉边计算 -
内存
hive优先使用内存 如果不足 使用外存(磁盘)
impala当下只用内存 内存不足报错 通常去配合hive使用。 -
调度
hive 资源调度是用yarn完成
impala 自己调度 策略极其简单 -
容错
hive容错准备来说就是hadoop容错机制 task重试机制 推测执行机制
impala没有容错能力 设计的时候认为 错了再来也会很快 再执行的成本低 -
适用层面
hive适用于复杂的批处理任务分析
impala适用于交互式实时任务处理 通常要hive使用
-
impala安装
-
安装方式
- 只有cloudera提供了impala的rpm包 且安装rpm包之间会有依赖问题 所有通常是去下载cloudera所有rpm包制作本地yum源 使用yum方式安装
cdh5.14.0-centos6.tar.gz
- 只有cloudera提供了impala的rpm包 且安装rpm包之间会有依赖问题 所有通常是去下载cloudera所有rpm包制作本地yum源 使用yum方式安装
-
配置本地yum源
-
上传cdh5.14.0-centos6.tar.
-