10-impala和介绍,impala和hive的关系,impala的安装
离线阶段第十天
hive+azkaban+sqoop+flume
impala+hue+oozie 新一套的离线处理架构
impala的基本介绍:Cloudera公司开源提供的一款sql on hadoop的软件。号称是当前大数据领域大查询最快的一款sql on hadoop的工具
impala能够兼容hive,具有实时批处理等特点,提供高并发
impala与hive之间的关系
impala与hive是紧耦合的,使用impala之前必须安装好hive数据仓库
impala的优点以及缺点:
优点:计算速度很快,提供近乎实时的查询响应
缺点:内存消耗大。官方推荐,每个impala的节点,内存最少128Gb
impala的基本结构
impala-state-store:主节点,状态存储区,主要用于存储sql执行的中间结果的保存
impala-catalog:主节点,元数据管理区。impala会读取hive当中的元数据信息,读取回来保存到自己的catalogg里面去
impala-server:从节点,主要就是执行我们的查询的sql语句。官方建议所有的impala-server与datanode安装在一起。可以使用hdfs的短路读取的特性
impala的安装:
CDH的官网没有提供impala的安装包下载
还可以通过rpm包的方式来进行安装
CDH的软件一般都提供多种方式安装,比如说.tar.gz 还比如说 rpm 还比如说 CM
node03的hive需要启动hiveserver 2 以及 metastore的服务
bin/hive --service hiveserver2
bin/hive --serivce metastore
impala 的shell的使用:
外部shell命令:
查看impala的版本:
impala-shell -v -V
查看impala的帮助文档
impala-shell -h
通过 -i连接到某一台impala-server服务器
刷新我们hive的所有的元数据信息
impala-shell -r
通过 -f 执行我们impala执行sql脚本 类似于hive的 -f
impala-shell -f impala.sql
通过-q 来指定我么impala直接执行sql脚本 类似于hive的 -e
impala-shell -q “select * from myhive.student”;
内部的shell命令:
进入到impala-shell内部之后的一些可以执行的参数
refesh dbname.tabname 主要是用于帮助我们刷新hive当中的某一张表发生变化,比如hive当中一张表分区数添加,可以用这个命令。增量的刷新。如果hive当中新建的数据库表,这个命令刷不到
invalidate metadata 全量的刷新,将hive当中所有的元数据信息,全部刷新过来保存到catalog里面去。性能消耗比较大,一般不要轻易使用,只有hive当中新建数据库或者新建数据库表的时候,才有可能用到
impala当中直接创建的数据库或者数据库表,impala当中都可以直接 看得到,但是hive当中创建的数据库以及数据库表必须刷新之后,impala才能看得到。
因为impala自己创建的数据库以及数据库表,直接将元数据信息保存到catalog里面去了
以后完全可以使用impala代替掉我们的hive
hive flume sqoop mapreduce impala hdfs
使用一个工具hue:来集成我们各种学过的框架,集成之后,可以提供客户端,让我们去开发各种其他的框架
hue:hadoop user expression
只要将hue安装上之后,就会非常方便,提供图像化的界面,供我们操作各个其他框架
一句话总结:Hue是一个友好的界面集成框架,可以集成我们各种学习过的以及将要学习的框架,一个界面就可以做到查看以及执行所有的框架