Hadoop大数据平台实战(01):Impala vs Hive的区别

简介: Hadoop大数据生态系统重要的2个框架Apache Hive和Impala,用于在HDFS和HBase上进行大数据分析。 但Hive和Impala之间存在一些差异--Hadoop生态系统中的SQL分析引擎的竞争。本文中我们会来对比两种技术Impala vs Hive区别?

Hadoop大数据生态系统重要的2个框架Apache Hive和Impala,用于在HDFS和HBase上进行大数据分析。 但Hive和Impala之间存在一些差异--Hadoop生态系统中的SQL分析引擎的竞争。本文中我们会来对比两种技术Impala vs Hive区别?

image


Hive介绍
Apache Hive™是开源的数据仓库框架,基于Hadoop构建,使用SQL语法读取Hadoop数据,分析保存在分布式存储中HDFS或者HBase数据库中的大型数据集。

image


Hive最早由Facebook开发,后来2008年贡献给Apache软件基金会。 此外,Hive的用途非常广泛,因为它支持分析存储在Hadoop的HDFS和其他兼容文件系统中的大量数据集。 像亚马逊S3。
Hive是一个在Hadoop集群之上运行的开源数据仓库和分析包。 Hive脚本使用类似SQL的语言,称为Hive QL(查询语言),它抽象编程模型并支持典型的数据仓库交互。 Hive使开发者能够避免接触底层机制,如(如Java)中的有向非循环图(DAG)或MapReduce程序编写Tez作业,降低复杂性。
Hadoop中SQL查询的事实标准
自2008年孵化以来,Apache Hive被认为是Hadoop中数PB数据的交互式SQL查询的事实标准。Hive使用熟悉的JDBC接口轻松与其他关键数据中心技术集成。
Hive提供类SQL的语言(HiveQL),在读取时使用模式,并将查询透明地转换为MapReduce任务,Apache Tez和Spark Jobs来分析数据。
Hive功能特性:
  • 提供索引加速分析处理
  • Hive支持多种类型的存储。 如纯文本,RCFIle,HBase,ORC
  • 此外,它还支持RDBMS中的元数据存储
  • Hive支持SQL之类的查询。 虽然我们可以隐式转换为MapReduce,Tez或Spark作业
  • 要操纵字符串,日期内置用户定义函数(UDF)
    Hive 官方网站 http://hive.apache.org/

LLAP Hive(Live Long and Process)利用具有智能内存缓存的持久查询服务器来避免Hadoop的面向批处理的延迟问题,并提供与次数较小的数据量一样快的亚秒查询响应时间,而Hive on Tez继续针对PB级数据集提供出色的批量查询性能,性能做了优化加速。
Hive中的表与关系数据库中的表类似,数据单元按从大到小单位的分类法进行组织。数据库由表组成,表由分区组成。可以通过简单的查询语言访问数据,Hive支持覆盖或附加数据。

在特定数据库中,表中的数据是序列化的,每个表都有一个对应的Hadoop分布式文件系统(HDFS)目录。每个表可以细分为多个分区,用于确定数据在表目录的子目录中的分布方式。分区内的数据可以进一步细分为存储桶。

Hive支持所有常见的数据类型,如BIGINT,BINARY,BOOLEAN,CHAR,DECIMAL,DOUBLE,FLOAT,INT,SMALLINT,STRING,TIMESTAMP和TINYINT。此外,我们也可以组合原始数据类型以形成复杂的数据类型,
Impala介绍

image


Impala是Cloudera公司开发的全新的开源大数据分析引擎MPP,它提供类SQL语法,能处理存储在Hadoop的HDFS和HBase中大数据。
不同于之前的Hive,虽然Hive也提供了SQLL语法,但Hive底层依赖于是MapReduce分析引擎,难以实现复杂查询的交互性。
Impala提高了Apache Hadoop上SQL查询性能,节约了大数据分析的时间,同时保留了熟悉的SQL语法用户体验。 使用Impala,可以实时查询存储在HDFS和Apache HBase的数据 - 支持包括SELECT,JOIN和聚合函数。 此外,Impala使用与Apache Hive相同的元数据,SQL语法(Hive SQL),ODBC驱动和用户界面UI(Hue Beeswax),为批处理或实时查询管理操作提供了熟悉且统一的平台。 (Hive开发者可以很快熟悉Impala)
Impala是一个开源的大规模并行处理(MPP)SQL引擎。 在HDFS和Apache HBase上运行查询。 它不需要先移动或转换数据。 很容易与整个Hadoop生态系统集成。 此外,对于开源交互式商业智能任务,Impala跨框架的统一资源管理使其成为标准。
image

Impala的功能包括:

  • Impala支持Hadoop分布式文件系统(HDFS)和Apache HBase
  • Impala还识别Hadoop文件格式,如文本,LZO,Avro,RCFile,Parquet
  • 它还支持Kerberos身份验证
  • 支持Apache Sentry,提供基于角色的授权。
    Impala的优点:
  • 由于在数据节点上本地处理,避免了网络传输的性能瓶颈。
  • 可以使用单个,开放且统一的元数据存储中心。
  • 不需要昂贵的数据格式转换,因此不会产生任何开销。
  • 所有数据都可以立即查询,ETL没有延迟。
  • 所有硬件都用于Impala查询以及MapReduce分析。
  • 只需要一个机器池即可扩展集群。
    官方网站:https://impala.apache.org/

参考:
https://hive.apache.org/
https://impala.apache.org/

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
11天前
|
存储 分布式计算 Hadoop
大数据之hadoop3入门到精通(一)
大数据之hadoop3入门到精通(一)
|
10天前
|
分布式计算 Hadoop 分布式数据库
Hadoop生态系统介绍(二)大数据技术Hadoop入门理论系列之一----hadoop生态圈介绍
Hadoop生态系统介绍(二)大数据技术Hadoop入门理论系列之一----hadoop生态圈介绍
28 2
|
6天前
|
存储 分布式计算 Hadoop
Spark和Hadoop都是大数据处理领域的重要工具
【6月更文挑战第17天】Spark和Hadoop都是大数据处理领域的重要工具
34 7
|
6天前
|
分布式计算 资源调度 Hadoop
大数据Hadoop集群部署与调优讨论
大数据Hadoop集群部署与调优讨论
|
6天前
|
存储 分布式计算 Hadoop
Hadoop是如何支持大数据处理的?
【6月更文挑战第17天】Hadoop是如何支持大数据处理的?
24 1
|
8天前
|
分布式计算 Hadoop 大数据
大数据技术:Hadoop与Spark的对比
【6月更文挑战第15天】**Hadoop与Spark对比摘要** Hadoop是分布式系统基础架构,擅长处理大规模批处理任务,依赖HDFS和MapReduce,具有高可靠性和生态多样性。Spark是快速数据处理引擎,侧重内存计算,提供多语言接口,支持机器学习和流处理,处理速度远超Hadoop,适合实时分析和交互式查询。两者在资源占用和生态系统上有差异,适用于不同应用场景。选择时需依据具体需求。
|
11天前
|
存储 分布式计算 安全
大数据之hadoop3入门到精通(三)
大数据之hadoop3入门到精通(三)
|
11天前
|
SQL 数据采集 数据可视化
基于Hive的招聘网站的大数据分析系统
基于Hive的招聘网站的大数据分析系统
|
11天前
|
SQL 资源调度 大数据
大数据之hadoop3入门到精通(二)
大数据之hadoop3入门到精通(二)
|
13天前
|
SQL 分布式计算 大数据
MaxCompute产品使用合集之启用hive兼容的时候,某个字段是null,是否会把这个字段当成空白连起来
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。