文章目录

hive简介

    Hive是一个数据仓库基础工具在Hadoop中用来处理结构化数据。它架构在Hadoop之上,总归为大数据,并使得查询和分析方便。并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。
    最初,Hive是由Facebook开发,后来由Apache软件基金会开发,并作为进一步将它作为名义下Apache Hive为一个开源项目。Hive 没有专门的数据格式。 Hive 可以很好的工作在 Thrift 之上,控制分隔符,也允许用户指定数据格式。Hive不适用于在线事务处理。 它最适用于传统的数据仓库任务。
     Hive 构建在基于静态批处理的Hadoop 之上,Hadoop 通常都有较高的延迟并且在作业提交和调度的时候需要大量的开销。因此,Hive 并不能够在大规模数据集上实现低延迟快速的查询,例如,Hive 在几百MB 的数据集上执行查询一般有分钟级的时间延迟。因此,Hive 并不适合那些需要低延迟的应用,例如,联机事务处理(OLTP)。Hive 查询操作过程严格遵守Hadoop MapReduce 的作业执行模型,Hive 将用户的HiveQL 语句通过解释器转换为MapReduce 作业提交到Hadoop 集群上,Hadoop 监控作业执行过程,然后返回作业执行结果给用户。Hive 并非为联机事务处理而设计,Hive 并不提供实时的查询和基于行级的数据更新操作。Hive 的最佳使用场合是大数据集的批处理作业,例如,网络日志分析。

hive的特点

  1. 通过SQL轻松访问数据的工具,从而实现数据仓库任务(如提取/转换/加载(ETL),报告和数据分析)。
  2. 一种对各种数据格式施加结构的机制
  3. 访问直接存储在Apache HDFS或其他数据存储系统(如Apache HBase)中的文件
  4. 通过Apache Tez,Apache Spark或MapReduce执行查询
  5. 程序语言与HPL-SQL
  6. 通过Hive LLAP,Apache YARN和Apache Slider进行亚秒级查询检索。
    (Hive提供了标准的SQL功能,其中包括许多后来用于分析的SQL:2003和SQL:2011功能。
    Hive的SQL还可以通过用户定义的函数(UDF),用户定义的聚合(UDAF)和用户定义的表函数(UDTF)用用户代码进行扩展。
    没有一个数据必须存储的“Hive格式”。 Hive带有用于逗号和制表符分隔值(CSV / TSV)文本文件,Apache Parquet,Apache ORC和其他格式的内置连接器。用户可以使用其他格式的连接器来扩展Hive。
    Hive不适用于联机事务处理(OLTP)工作负载。它最适用于传统的数据仓库任务。
    Hive旨在最大限度地提高可伸缩性(在Hadoop集群中动态添加更多机器的规模),性能,可扩展性,容错性以及与输入格式的松散耦合。
    Hive的组件包括HCatalog和WebHCat。
    HCatalog是Hive的一个组件。这是Hadoop的表和存储管理层,使用不同数据处理工具(包括Pig和MapReduce)的用户可以更方便地在网格上读写数据。
    WebHCat提供的服务可以用来运行Hadoop MapReduce(或YARN),Pig,Hive作业或使用HTTP(REST风格)接口执行Hive元数据操作。)

版权声明:本文为weixin_38011805原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_38011805/article/details/114264329