大数据技术之Impala
一、Impala的基本概念1.1 什么是ImpalaCloudera公司推出的,提供对HDFS、Hbase数据的高性能、低延迟的交互式SQL查询功能。基于Hive,使用内存计算,兼顾数据仓库、具有实时、批处理、多并发等优点。是CDH平台首选的PB级大数据实时查询分析引擎。1.2 Impala的优缺点1.2.1 优点:(1)基于内存运算,不需要把中间结果写入磁盘,省掉了大量的I/O开...
一、Impala的基本概念
1.1 什么是Impala
Cloudera公司推出的,提供对HDFS、Hbase数据的高性能
、低延迟
的交互式SQL查询功能
。
基于Hive,使用内存
计算,兼顾数据仓库、具有实时、批处理、多并发等优点。
是CDH平台首选的PB级大数据实时查询分析引擎。
1.2 Impala的优缺点
1.2.1 优点:
(1)基于内存运算,不需要把中间结果写入磁盘,省掉了大量的I/O开销。
(2)无需转换为Mapreduce,直接访问存储在HDFS,HBase中的数据进行作业调度,速度快。
(3)使用了支持Data locality的I/O调度机制,尽可能地将数据和计算分配在同一台机器上进行,减少了网络开销。
(4)支持各种文件格式,如TEXTFILE 、SEQUENCEFILE 、RCFile、Parquet。
(5)可以访问hive的metastore,对hive数据直接做数据分析。
1.2.2 缺点
(1)对内存的依赖大,且完全依赖于hive。
(2)实践中,分区超过1万,性能严重下降。
(3)只能读取文本文件,而不能直接读取自定义二进制文件。
(4)每当新的记录/文件被添加到HDFS中的数据目录时,该表需要被刷新。
1.3 Impala的架构
从上图可以看出,Impala自身包含三个模块:Impalad
、Statestore
和Catalog
,除此之外它还依赖Hive Metastore和HDFS。
(1)Impalad:
接收client的请求、Query执行并返回给中心协调节点;
子节点上的守护进程,负责向statestore保持通信,汇报工作。
(2)Catalog:
分发表的元数据信息到各个impalad中;
接收来自statestore的所有请求。
(3)Statestore:
负责收集分布在集群中各个impalad进程的资源信息、各节点健康状况,同步节点信息;
负责query的协调调度。
二、Impala的安装
2.1 Impala的地址
(1)Impala的官网:http://impala.apache.org/
(2)Impala文档查看:http://impala.apache.org/impala-docs.html
(3)下载地址:http://impala.apache.org/downloads.html
2.2 Impala的安装方式
有两种:
Cloudera Manager(CDH首推
)
手动安装
下面使用Cloudera Manager安装Impala:
(1)在主页面中点击添加服务
(2)选择Impala服务
(3)进行角色分配
注意:最好将StateStore和CataLog Sever单独部署在同一节点上。
(4)配置Impala
(5)启动Impala
(6)安装成功
2.3 Impala 的监护管理
可以通过下面的链接来访问Impala的监护管理页面:
• 查看StateStore :http://bigdata11:25020/
• 查看Catalog :http://bigdata11:25010/
2.4 Impala的初体验
(1)启动Impala
[root@bigdata11 ~]# impala-shell
(2)查看数据库
[bigdata11:21000] > show databases;
(3)打开默认数据库
[bigdata11:21000] > use default;
(4)显示数据库中的表
[bigdata11:21000] > show tables;
(5)创建一张student表
[bigdata11:21000] > create table student(id int, name string) row format
delimited fields terminated by '\t';
(6)向表中导入数据
[bigdata12:21000] load data inpath '/student.txt' into table student;
注意:
1)关闭(修改hdfs的配置dfs.permissions为false)或修改hdfs的权限,否则impala没有写的权限
[hdfs@bigdata12 ~]$hadoop fs -chmod 777 /
2)Impala不支持将本地文件导入到表中会发生错误:load local data inpath ‘/opt/student.txt’
into table student;
(7)查询
[bigdata12:21000] > select * from student;
(8)退出impala
[bigdata12:21000] > quit;
更多推荐
所有评论(0)