学习Hive和Impala必看经典解析
Hive和Impala作为数据查询工具,它们是怎样来查询数据的呢?与Impala和Hive进行交互,我们有哪些工具可以使用呢?
我们首先明确Hive和Impala分别提供了对应查询的接口:
(1)命令行shell:
1、 Impala:impala shell
2、 Hive:beeline(早期hive的命令行版本是hive shell,现在基本不使用)
(2)Hue Web UI:
1.Hue里面提供了 Hive查询编辑器
2.Hue里面提供了Impala查询编辑器
3.Hue里面提供了元数据管理器,可以直接对元数据进行访问。
(3)提供了JDBC和ODBC支持
下面进行具体介绍:
一、Impala
(1)使用Impala shell
Impala shell是类似于MySQL的交互式工具,可以直接在终端启动Impala shell,但是Impala shell在哪里启动很有讲究。Impala本身是分布式的架构,它的Impalad是在每个slave节点中的。那么Impala按照如下这种情况直接执行的话肯定是在slave节点中运行的。
如果不是在slave节点中运行的话,可以指定它的server,像如下这种方式,通过—i的参数,指定21000端口执行。
Impala shell和所有的SQL一样,输入分号作为语句的结束,使用quit命令退出shell。如果需要查看帮助的话使用impala-shell --help查看完整的选项列表。因为任何的工具它的参数都是很多的,一定要习惯和学会使用帮助去找到自己想要的一些参数,然后去解决一些复杂数据的分析和处理。
在Impala shell里面执行查询的示例:
(2)Impala与操作系统进行交互
在Impala里面,我们有时候需要去执行一些Linux的命令,比如查询日期,远程连接,访问目录数据等,我们不需要退出Impala shell,直接操作就可以,比如:
但是Impala不直接支持HDFS命令,但是可以使用shell运行hdfs dfs命令去创建一个目录,如下:
(3)从命令行运行Impala查询,可以不用登陆Impala shell就可以执行,如:
1、 使用-f选项来执行包含查询的文件
2、 使用-q选项直接在命令行运行查询
3、 使用-o来将结果输出到文件
二、Hive
(1)启动beeline
Hive shell是Hive早期版本,现在使用Beeline shell,跟Impala shell相似,但是它是基于JDBC和ODBC,如果需要使用Beeline的话,需要去启动Hive2,通过为Hive2服务器指定URL来启动Beeline,这个时候还需要根据需要指定用户名和密码,如下:
(2)在Beeline执行查询
和SQL一样以分号结束,执行查询和Impala shell类似,但结果格式有少许不同,如:
(3)使用Beeline
和其他工具有一些不同,执行查询都是正常的SQL输入,但是如果是一些管理的命令,比如进行连接,中断,退出,执行Beeline命令需要带上“!”,不需要终止符。常用命令介绍:
1、!connect url –连接不同的Hive2服务器
2、!exit –退出shell
3、!help –显示全部命令列表
4、!verbose –显示查询追加的明细
示例:
(4)从命令行执行Hive查询
1、使用-f选项来执行包含HiveQL代码的文件
2、使用-e选项直接在命令行运行HiveQL
3、使用--silent来阻止通知的消息输出,也可以和-e或-f选项一起使用
三、Hue
(1)通过Hue访问Hive和Impala,它们各自都有editors,在Hue的query editors里面我们可以找到Hive和Impala的一些工具,
如下:
以及元数据库我们可以在Data Browsers里面可以看到它的一些工具,如:
(2)Hue查询编辑器,查询Impala和Hive查询编辑器几乎相同,具体操作示意:
与Impala和Hive进行交互,以上就是我们可以利用和使用的工具,但是在实际的操作中我们还需要加强自己的实战能力才能更好的去掌握和理解。大数据作为当下还在不断完善发展的技术,需要每一位想要从事和已经从事它的人员不断去学习和积累,更需要去交流和分享,共同进步。“大数据cn”、“大数据时代学习中心”是我平时自己在自主学习过程中找到微信服务号,里面介绍的关于大数据的知识以及大数据发展的一些行业知识都很不错,平常大家可以看看。
本文出自 “11872756” 博客,请务必保留此出处http://11882756.blog.51cto.com/11872756/1887331
学习Hive和Impala必看经典解析的更多相关文章
- 学习ios(必看经典)牛人40天精通iOS开发的学习方法
学习ios(必看经典)牛人40天精通iOS开发的学习方法 描述 这是一套从一个对iOS开发感兴趣的学员到iOS开发高手的系统.专业的课程体系.以培养企业开发真正需要的人才为目标,每个知识点都用案例来讲 ...
- 【转】 学习ios(必看经典)牛人40天精通iOS开发的学习方法【2015.12.2
原文网址:http://bbs.51cto.com/thread-1099956-1.html 亲爱的学员们: 如今,各路开发者为淘一桶金也纷纷转入iOS开发的行列.你心动了吗?想要行动吗?知道如何做 ...
- Java编程学习知识点分享 入门必看
Java编程学习知识点分享 入门必看 阿尔法颜色组成(alpha color component):颜色组成用来描述颜色的透明度或不透明度.阿尔法组成越高,颜色越不透明. API:应用编程接口.针对软 ...
- python必看经典书籍:笨办法学python
书评: 感谢作者和译者,很好的手把手的一个新手编程体验书,消除编程物质恐惧感,在线看的liam huang翻译的版,不确定看的是第几版,有一些加分题没有做,第五十题黑手党外星人飞船做起来有点压力,准备 ...
- java初学者必看经典
配置java环境变量: JAVA_HOME:配置JDK的目录 CLASSPATH:指定到哪里去找运行时需要用到的类代码(字节码) PATH:指定可执行程序的位置 LINUX系统(在" .ba ...
- (纯干货)最新WEB前端学习路线汇总初学者必看
Web前端好学吗?这是很多web学习者常问的问题,想要学习一门自己从未接触过的领域,事先有些了解并知道要学的内容,对接下来的学习会有事半功倍的效果.在当下来说web前端开发工程师可谓是高福利.高薪水的 ...
- 学习游戏服务器开发必看,C++游戏服务器开发常用工具介绍
C++游戏服务器开发常用工具介绍 在软件开发过程中需要使用的工具类型实属众多,从需求建模到软件测试,从代码编译到工程管理,这些工具都对项目有着不可替代的作用.庄子有云,"吾生也有涯,而知也无 ...
- 1.16 Linux该如何学习(新手入门必看)
本节旨在介绍对于初学者如何学习 Linux 的建议.如果你已经确定对 Linux 产生了兴趣,那么接下来我们介绍一下学习 Linux 的方法. 如何去学习 学习大多类似庖丁解牛,对事物的认识一般都是由 ...
- iOS面试必看经典试题分析
> **不用临时变量怎么实现两个数据的交换?** 方式一:加减法的运算方式求解new_b = a - b + b = a;new_a = a + b - a = b;一个简单的运算方式,最重要的 ...
随机推荐
- caffe 中如何打乱训练数据
第一: 可以选择在将数据转换成lmdb格式时进行打乱: 设置参数--shuffle=1:(表示打乱训练数据) 默认为0,表示忽略,不打乱. 打乱的目的有两个:防止出现过分有规律的数据,导致过拟合或者不 ...
- sql server 函数--rand() 生成整数的随机数
rand() 定义: 返回从0到1之间的随机浮点值. 举例说明: select rand() as 随机数 结果如图: select cast( floor(rand()*N) as int ) ...
- eclipse Alt+/ 无法提示代码
1.找到windows下的General 下的editors 下的keys 2.把word completion 的binding由原来的Alt+/该成Alt+c 3.把Content Assist下 ...
- AIX下RAC搭建 Oracle10G(六)dbca建库
AIX下RAC搭建系列 AIX下RAC搭建 Oracle10G(六)dbca建库 环境 节点 节点1 节点2 小机型号 IBM P-series 630 IBM P-series 630 主机名 AI ...
- DM36x IPNC OSD显示中文 --- 基本数据准备篇
经过上一篇的叙述,基本原理搞清楚后,便需要对我们在OSD上显示中文作数据准备,首先是需要将gb2312关键区(也就是实际有文字存在的区)中的汉字转换为图片,在实际的转换中,并不像上一篇中GB2312编 ...
- multicast based on udp
1.概念 单播,是用于两个主机之间传送数据; 广播,是一个主机对局域网内的所有主机发送数据; 多播,又称为组播,它是对一组特定的主机通信. 将网络上同一类型业务逻辑上分组,只和组内的成员通信,其它主机 ...
- stylelint — css书写规范
sass lint guidance 一.安装:npm intsall -g stylelint 二.配置:http://stylelint.io/user-guide/rules/ (以下规则文件配 ...
- python 中property函数如何实现
实际上,在python中property(fget,fset,fdel,doc)函数不是一个真正的函数,他其实是拥有很多特殊方法的类. 这特殊类总的很多方法完成了property函数中的所有工作,涉及 ...
- UIWebView加上safari风格前进后退按钮(转)
今天在写程序内打开网页的功能,写工具条的时候发现系统图标里面竟然没有后退按钮,,由于我这个是静态库工程,不可能自己弄张图上去,不然使用本库的时候还得附上图片,经过一下午的搜索,终于找到个比较靠谱的,这 ...
- hdu 4786 Fibonacci Tree(最小生成树)
Fibonacci Tree Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) T ...