Impala Hive都是构建在Hadoop之上的数据查询工具,但是各有不同侧重,那么我们为什么要同时使用这两个工具呢?单独使用Hive或者Impala不可以吗?

一、介绍ImpalaHive

1ImpalaHive都是提供对HDFS/Hbase数据进行SQL查询的工具,Hive会转换成MapReduce,借助于YARN进行调度从而实现对HDFS的数据的访问,而Impala直接对HDFS进行数据查询。但是他们都是提供如下的标准SQL语句,在机身里运行。

wKiom1hY2GzDmQOiAAFKpFW-riE686.png-wh_50

2Apache HiveMapReduce的高级抽象,使用HiveQL,Hive可以生成运行在Hadoop集群的MapReduceSpark作业。Hive最初由Facebook大约在2007年开发,现在是Apache的开源项目。

Apache Impala是高性能的专用SQL引擎,使用Impala SQL,因为Impala无需借助任何的框架,直接实现对数据块的查询,所以查询延迟毫秒级。Impala受到GoogleDremel项目启发2012年由Cloudera开发,现在是Apache开源项目。

二、ImpalaHive有什么不同?

1Hive有很多的特性:

1、对复杂数据类型(比如arraysmaps)和窗口分析更广泛的支持

2、高扩展性

3、通常用于批处理

2Impala更快

1、专业的SQL引擎,提供了5x50x更好的性能

2、理想的交互式查询和数据分析工具

3、更多的特性正在添加进来

三、高级概述:

wKioL1hY2IvAmLx5AAKFuOKMRfM020.png-wh_50

四、为什么要使用HiveImpala?

1、为数据分析人员带来了海量数据分析能力,不需要软件开发经验,运用已掌握的SQL知识进行数据的分析。

2、比直接写MapReduceSpark具有更好的生产力,5HiveQL/Impala SQL等同于200行或更多的Java代码。

3、提供了与其他系统良好的互操作性,比如通过Java和外部脚本扩展,而且很多商业智能工具支持HiveImpala

五、HiveImpala使用案例

(1)日志文件分析

日志是普遍的数据类型,是当下大数据时代重要的数据源,结构不固定,可以通过Flumekafka将日志采集放到HDFS,然后分析日志的结构,根据日志的分隔符去建立一个表,接下来运用HiveImpala 进行数据的分析。例如:

wKiom1hY2Jywsm30AABjTOKy9kY690.png-wh_50

(2)情感分析

很多组织使用HiveImpala来分析社交媒体覆盖情况。例如:

wKioL1hY2KrSyvpDAAELu0CeQj0997.png-wh_50

(3)商业智能

很多领先的BI工具支持HiveImpala

wKiom1hY2LfStuHLAAEP51bem-8754.png-wh_50

看了HiveImpala的作用及功效阐述,对于掌握Hadoop数据处理有着重要作用。大家在平常要多去积累和总结经验,不断提升技能水平。我自己平时除了总结自己的经验教训,还喜欢看别人分享的知识,取长补短,对于完善自己的知识架构有着重要作用。像“CSDN”论坛,“大数据cn”,“大数据时代学习中心”微信服务号都挺不错,总之,努力汲取多方面知识,我们就会取得更大进步!