hive是什么

果冻 2020-08-13 15:13:52
问答

hive 是基于 Hadoop 的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。

hive 是基于 Hadoop 的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。hive 数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供 SQL 查询功能,能将 SQL 语句转变成 MapReduce 任务来执行。

hive

Hive 的优点是学习成本低,可以通过类似 SQL 语句实现快速 MapReduce 统计,使 MapReduce 变得更加简单,而不必开发专门的 MapReduce 应用程序。hive 十分适合对数据仓库进行统计分析。

简介

hive 是基于 Hadoop 构建的一套数据仓库分析系统,它提供了丰富的 SQL 查询方式来分析存储在 Hadoop 分布式文件系统中的数据:可以将结构化的数据文件映射为一张数据库表,并提供完整的 SQL 查询功能;可以将 SQL 语句转换为 MapReduce 任务运行,通过自己的 SQL 查询分析需要的内容,这套 SQL 简称 Hive SQL,使不熟悉 mapreduce 的用户可以很方便地利用 SQL 语言查询、汇总和分析数据。而 mapreduce 开发人员可以把自己写的 mapper 和 reducer 作为插件来支持 hive 做更复杂的数据分析。

它与关系型数据库的 SQL 略有不同,但支持了绝大多数的语句如 DDL、DML 以及常见的聚合函数、连接查询、条件查询。它还提供了一系列的 1:具进行数据提取转化加载,用来存储、查询和分析存储在 Hadoop 中的大规模数据集,并支持 UDF(User-Defined Function)、UDAF(User-Defnes AggregateFunction)和 USTF(User-Defined Table-Generating Function),也可以实现对 map 和 reduce 函数的定制,为数据操作提供了良好的伸缩性和可扩展性。

hive 不适合用于联机(online)事务处理,也不提供实时查询功能。它最适合应用在基于大量不可变数据的批处理作业。hive 的特点包括:可伸缩(在 Hadoop 的集群上动态添加设备)、可扩展、容错、输入格式的松散耦合。

适用场景

hive 构建在基于静态批处理的 Hadoop 之上,Hadoop 通常都有较高的延迟并且在作业提交和调度的时候需要大量的开销。因此,hive 并不能够在大规模数据集上实现低延迟快速的查询,例如,hive 在几百 MB 的数据集上执行查询一般有分钟级的时间延迟。

因此,hive 并不适合那些需要高实时性的应用,例如,联机事务处理(OLTP)。hive 查询操作过程严格遵守 Hadoop MapReduce 的作业执行模型,hive 将用户的 hiveQL 语句通过解释器转换为 MapReduce 作业提交到 Hadoop 集群上,Hadoop 监控作业执行过程,然后返回作业执行结果给用户。hive 并非为联机事务处理而设计,hive 并不提供实时的查询和基于行级的数据更新操作。hive 的最佳使用场合是大数据集的批处理作业,例如,网络日志分析。

设计特征

hive 是一种底层封装了 Hadoop 的数据仓库处理工具,使用类 SQL 的 hiveSQL 语言实现数据查询,所有 hive 的数据都存储在 Hadoop 兼容的文件系统(例如,Amazon S3、HDFS)中。hive 在加载数据过程中不会对数据进行任何的修改,只是将数据移动到 HDFS 中 hive 设定的目录下,因此,hive 不支持对数据的改写和添加,所有的数据都是在加载的时候确定的。hive 的设计特点如下。

  • 支持创建索引,优化数据查询。
  • 不同的存储类型,例如,纯文本文件、HBase 中的文件。
  • 将元数据保存在关系数据库中,大大减少了在查询过程中执行语义检查的时间。
  • 可以直接使用存储在 Hadoop 文件系统中的数据。
  • 内置大量用户函数 UDF 来操作时间、字符串和其他的数据挖掘工具,支持用户扩展 UDF 函数来完成内置函数无法实现的操作。
  • 类 SQL 的查询方式,将 SQL 查询转换为 MapReduce 的 job 在 Hadoop 集群上执行。
0个人收藏 收藏

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • 解压 tar.gz 文件 Unzip the tar.gz file

    TAR.GZ压缩格式快速解压方法有哪些

    解压tar.gz文件可以使用图形界面工具,双击文件选择解压到选择目标文件夹点击解压即可;或使用命令行“tar -xzvf filename.tar.gz”解压;在Windows上可以使用7-Zip和WinRAR解压tar.gz格式。
  • 解压 RAR 文件 Unzip RAR file

    Mac解压RAR文件的方法有哪些

    Mac解压RAR文件可使用第三方解压软件,如The Unarchiver;或使用终端命令,通过安装unrar工具并应用相应的命令行来解压,这适合对终端操作比较熟悉的用户;使用在线解压服务,适用于临时或轻量级任务,但要注意隐私和安全问题。
  • RAR 文件 RAR file

    Mac解压RAR文件后打不开怎么办

    解决Mac上RAR文件解压后无法打开的问题,首先尝试更新或更换RAR文件解压软件,检查文件的完整性,确保下载过程中没有中断或损坏,问题仍存在尝试使用Mac的终端应用程序,使用相应的命令行来解压文件,确保操作系统是最新版本,以避免兼容性问题。
  • SDK

    此应用sdk版本过低怎么办

    面对应用SDK版本过低的问题,开发者需要更新使用的SDK并确保应用与最新操作系统版本兼容。用户则应检查应用的更新,或在必要时寻找替代应用。定期维护和更新对于确保应用的长期可用性至关重要。
  • Jar 文件 jar file

    运行JAR包需要JDK吗

    要运行JAR包,不一定需要安装JDK。JRE是运行JAR文件所必需的环境,它包含了运行Java程序所需的虚拟机和类库,因此只要计算机上安装了JRE,就可以直接运行JAR文件,如果需要编译或修改JAR文件,则需要安装JDK。
  • 图片文件 Picture file

    图片怎么打包成文件

    使用系统自带压缩文件夹打包图片,选中需要打包的图片,右键单击,选择发送到→压缩(zip)文件夹,系统会自动创建一个以压缩文件夹为名称的压缩文件夹,将选中的图片文件拖拽到此文件夹中。完成后,双击该压缩文件夹即可打开并查看其中的图片文件。