Apache Hive简介

原文链接:https://cwiki.apache.org/confluence/display/HIVE

       Apache Hive数据仓库软件设施,可以读、写和管理分布式存储上的大数据集(large datasets),并且可以通过SQL去查询数据集。

       在Apache Hadoop之上构建的Hive,有如下的特性:

  • 提供了通过SQL就可以轻松访问数据的工具集,因此可以实现诸如抽取/转换/装载(ETL)任务、报表任务、数据分析这些数据仓库任务
  • 提供了一个机制,可以在各种数据格式上创建结构(为数据赋予表结构)
  • 可以直接访问HDFS上的数据文件,或者访问其他存储系统上的文件,比如HBase
  • 查询通过Apache Tez或者Apache Spark或者MapReduce引擎执行
  • 通过HPL-SQL(Hive Hybrid Procedural SQL On Hadoop (HPL/SQL) 是一个从Hive2.0.0开始为Hive实现的过程SQL工具)提供了过程语言
  • 通过Hive LLAP,Apache YARN和Apache Slider可以实现亚秒级数据查询

       Hive提供了标准的SQL功能,包括用于分析的很多后来的SQL:2003和SQL:2011特性。
       Hive的SQL也可以根据用户提供的代码扩展,比如用户定义函数(user-defined-functions,UDFs),用户定义聚合(user-defined-aggregates,UDAFs)还有用户定义表级函数(user-defined-table-functions,UDTFs)。

       Hive没有强调数据必须存储成什么格式的。Hive自带了一些连接器,支持逗号(comma separated values,CSV)和制表符(table separated values,TSV)分割的文本文件,还有Apache Parquet,Apache ORC等等格式。
       用户还可以自己扩展其他格式的Hive连接器,请参考开发者指南上关于文件格式和Hive序列化反序列化的详细说明。

       Hive不是为在线事务处理数据而设计的。最好把Hive用于传统的数据仓库任务。
       Hive被设计用于最大化伸缩性(支持Hadoop集群上动态增加机器的伸缩性)、性能、扩展性、容错性,并且和它的输入数据松耦合。

       Hive组件还包括HCatalog和WebHCat:

  • HCatalog是Hive的一个组成部分,它是Hadoop上的一个表格和存储管理层,使用户可以用不同的数据处理工具(包括Pig和MapReduce)来更容易地读写数据。
  • WebHCat提供了一个可以让用户通过REST风格的HTTP接口来运行Hadoop MapReduce(或者YARN)、Pig、Hive任务或者进行Hive元数据操作的服务。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章