Apache Hive
hive官网原文地址 https://cwiki.apache.org/confluence/display/Hive/Home;jsessionid=91AF539FA31786D88F9DCAA009B31ED9
hive 数据仓库使用基于分布式存储和查询的sql语义,能够很方便地的读写,管理海量数据集。
基于hadoop,hive有以下特性:
1、通过sql工具能够很容易的访问数据,由此实现了数据仓管的功能如etl,报告,数据分析等。
2、提供对各种数据格式结构化的一种机制。
3、能够访问存储在hdfs或hbase中的文件。
4、查询引擎可以是Tez,Spark,MapReduce。
5、过程化语言hplsql。 注:过程化语言即第三代语言c,c++,java
6、通过Hive LLAP,YARN或者Slider进行亚秒级查询 。
hive提供了标准sql功能,包括许多SQL:2003和SQL:2011及以后版本的分析特性。用户可以通过UDFs,UDAFs,UDTFs添加自己的代码来扩展hive的sql功能。
hive支持多种数据存储格式,自带了用于逗号和制表符分割值的内置连接器,可用于(csv/tsv)文本文件,Parquet,ORC和其他格式文件。用户可以使用连接器来扩展对其他格式文件的支持,详细看File Formats and Hive SerDe 。
hive旨在是最大化可伸缩性(用多机器动态添加到hadoop集群的横向扩展)、性能、可扩展性、容错、解耦。hive不是为OLTP(在线事务处理)设计的,最好用来处理传统数据仓库任务。
hive的组件主要有HCatalog和WebHCat.
1、HCatalog是hadoop中表和存储的管理层,使用户能够用不同的工具如pig,mapreduce来处理不同的数据,在这个架构中能够很方便的读写数据。
2、WebHCat提供了这样一种服务,让你可以运行Hadoop的MapReduce,Pig,Hive任务,或者使用HTTP接口(Rest风格)来执行hive元数据的操作。