为什么使用Hive和Impala

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

一、介绍ImpalaHive

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

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

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

二、ImpalaHive有什么不同?

(1)Hive有很多的特性:

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

2、高扩展性

3、通常用于批处理

(2)Impala更快

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

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

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

三、高级概述:

四、为什么要使用HiveImpala?

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

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

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

五、HiveImpala使用案例

(1)日志文件分析

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

(2)情感分析

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

(3)商业智能

很多领先的BI工具支持Hive和Impala

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

时间: 2024-10-08 09:04:26

为什么使用Hive和Impala的相关文章

学习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里面提供了元数

Hive和Impala加载和存储数据功能曝光

Hive与Impala都是构建在Hadoop之上的数据查询工具,那么在实际的应用中,它们是如何加载和存储数据的呢? Hive和Impala存储和加载表,和所有的关系型数据库一样,有自己的数据管理结构,从它的Server到Database再到表和视图. 在其他的数据库中,表都是以自己特定的文件格式来存储的,比如Oracle有自己的存储格式,而对Hive而言,一个表就是包含一个或多个文件的HDFS目录,这个文件是属于表下面的内容,默认存储路径:/user/hive/warehouse/<table_

SQL数据分析概览——Hive、Impala、Spark SQL、Drill、HAWQ 以及Presto+druid

转自infoQ! 根据 O'Reilly 2016年数据科学薪资调查显示,SQL 是数据科学领域使用最广泛的语言.大部分项目都需要一些SQL 操作,甚至有一些只需要SQL. 本文涵盖了6个开源领导者:Hive.Impala.Spark SQL.Drill.HAWQ 以及Presto,还加上Calcite.Kylin.Phoenix.Tajo 和Trafodion.以及2个商业化选择Oracle Big Data SQL 和IBM Big SQL,IBM 尚未将后者更名为"Watson SQL&q

CDH5上安装Hive,HBase,Impala,Spark等服务

Apache Hadoop的服务的部署比较繁琐,需要手工编辑配置文件.下载依赖包等.Cloudera Manager以GUI的方式的管理CDH集群,提供向导式的安装步骤.由于需要对Hive,HBase,Impala,Spark进行功能测试,就采用了Cloudera Manager方式进行安装. Cloudera Manager提供两种软件包安装源,Package 和 Parcel: Package就是一个个rpm文件,以yum的方式组织起来. Parcel是rpm包的压缩格式,以.parcel结

使用Hive或Impala执行SQL语句,对存储在HBase中的数据操作

使用Hive或Impala执行SQL语句,对存储在HBase中的数据操作 Hive Impala HBase HiveQL 大数据 使用Hive或Impala执行SQL语句,对存储在HBase中的数据操作 〇.摘要 一.基础环境 二.数据存储在HBase中,使用Hive执行SQL语句 Ⅰ.创建Hive外部表 Ⅱ.从HBase读 Ⅲ.向HBase写 三.数据存储在HBase中,使用Impala执行SQL语句 Ⅰ.从HBase读 Ⅱ.向HBase写 四.综上所述 〇.摘要 Hive是基于Hadoop

上海Cloudera 数据分析师培训:Pig、Hive和 Impala

Cloudera 数据分析师培训:Pig.Hive和 Impala 通过 Cloudera 公司的 Apache Hadoop 培训将您的知识提升到一个新的水平. Cloudera 大学提供的为期四天的数据分析培训课程专注于 Apache Pig. Hive 和 Cloudera Impala,将教会您如何将传统的数据分析和商业智能技术应用到大数据领域.Cloudera 为数据专业人员提供了基于 SQL 和其它熟悉的脚本编程语言的工具,用来访问.操作.转换和分析复杂数据集. "通过 Cloude

hadoop生态系统学习之路(八)hbase与hive的数据同步以及hive与impala的数据同步

在之前的博文中提到,hive的表数据是可以同步到impala中去的.一般impala是提供实时查询操作的,像比较耗时的入库操作我们可以使用hive,然后再将数据同步到impala中.另外,我们也可以在hive中创建一张表同时映射hbase中的表,实现数据同步. 下面,笔者依次进行介绍. 一.impala与hive的数据同步 首先,我们在hive命令行执行show databases;可以看到有以下几个数据库: 然后,我们在impala同样执行show databases;可以看到: 目前的数据库

zeppelin中连接hive和impala

连接Hive 新建interpreter default.driver = org.apache.hive.jdbc.HiveDriver default.url = jdbc:hive2://hostname:10000 default.user = zeppelin (默认是你们账号:anonymous,zeppelin账号需要新创建,方便做数据权限管理) 连接Impala 1. 我所用的zeppelin版本没有impala jdbc包,下载地址: https://downloads.clo

0039-如何使用Python Impyla客户端连接Hive和Impala

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看. 1.文档编写目的 继上一章讲述如何在CDH集群安装Anaconda&搭建Python私有源后,本章节主要讲述如何使用Pyton Impyla客户端连接CDH集群的HiveServer2和Impala Daemon,并进行SQL操作. 内容概述 1.依赖包安装 2.代码编写 3.代码测试 测试环境 1.CM和CDH版本为5.11.2 2.RedHat7.2 前置条件 1.CDH集群环境正常运行 2.Anaconda已安装并配置环境变量