大数据之-Hive 教程

本文介绍了ApacheHive,一个在Hadoop基础上的数据仓库工具,它允许使用SQL查询处理结构化和半结构化数据,简化了大数据查询开发。文章详细讲述了Hive的历史背景、如何与Hadoop和MapReduce协作、其架构组件以及优点和局限性。
摘要由CSDN通过智能技术生成

Hive 教程

Hive 是一个架构在 Hadoop 之上的数据仓库基础工具,它可以处理结构化和半结构化数据,它使得查询和分析存储在 Hadoop 上的数据变得非常方便。

在没有 Hive 之前,处理数据必须开发复杂的 MapReduce 作业,但现在有了 Hive,你只要开发简单的 SQL 查询就可以达到 MapReduce 作业同样的查询功能。Hive 主要针对的是熟悉 SQL 的用户。Hive 使用的查询语言称为 HiveQL(HQL),它跟 SQL 很像。HiveQL 自动把类 SQL 语句转换成 MapReduce 作业。Hive 对 Hadoop 的复杂性简单化了,而且使用 Hive 并不需要你学习 Java 语言。

Hive 一般在终端执行,并且把 SQL 语句转换成一系列能在 Hadoop 集群执行作业。Apache Hive 可以让存储在 HDFS 的数据以表的方式呈现。

Apache Hive 历史简介

Hive 由 Facebook 的技术团队开发的,Apache Hive 是众多满足 Facebook 业务需求的技术之一。它非常受 Facebook 内部所有用户的欢迎。它可以开发各种数据相关的应用,并且运行在具有数百个用户的集群之上。Facebook 的 Apache Hadoop 集群存储超过 2PB 的原始数据,并且每天定期加载 15TB 的数据。现在 Hive 被很多大公司使用并完善,比如亚马逊,IBM,雅虎,Netflix 等等大公司。

为什么使用 Apache Hive

在 Apache Hive 实现之前,Facebook 已经面临很多挑战,比如随着数据的爆炸式增长,要处理这些数据变得非常困难。而传统的关系型数据库面对这样海量的数据可以说无能为力。Facebook 为了克服这个难题,开始尝试使用 MapReduce。但使用它需要具备 java 编程能力以及必须掌握 SQL,这使得该方案变得有些不切实际。而 Apache Hive 可以很好的解决 Facebook 当前面临的问题。

Apache Hive 避免开发人员给临时需求开发复杂的 Hadoop MapReduce 作业。因为 hive 提供了数据的摘要、分析和查询。Hive 具有比较好的扩展性和稳定性。有、由于 Hive 跟 SQL 语法上比较类似, 这对于 SQL 开发人员在学习和开发 Hive 时成本非常低,比较容易上手。Apache Hive 最重要的特性就是不会 Java,依然可以用好 Hive。

Hive 架构

Hive架构图

由上图可知,Hadoop 和 MapReduce 是 Hive 架构的根基。
Hive 架构包括如下组件:

  • CLI(command line interface)
  • JDBC/ODBC
  • Thrift Server
  • WEB GUI
  • Metastore
  • Driver(Complier、Optimizer 和 Executor)

这些组件可以分为两大类:

服务端组件

  • Driver 组件:该组件包括 Complier、Optimizer 和 Executor,它的作用是将 HiveQL 语句进行解析、编译优化,生成执行计划,然后调用底层的 MapReduce 计算框架。

  • Metastore 组件:元数据服务组件,这个组件存储 Hive 的元数据,hive 的元数据存储在关系数据库里,hive 支持的关系数据库有 derby、mysql。元数据对于 hive 十分重要,因此 hive 支持把 metastore 服务独立出来,安装到远程的服务器集群里,从而解耦 hive 服务和 metastore 服务,保证 hive 运行的健壮性。

  • Thrift 服务:thrift 是 facebook 开发的一个软件框架,它用来进行可扩展且跨语言的服务的开发,hive 集成了该服务,能让不同的编程语言调用 hive 的接口。

客户端组件

  • CLI:command line interface,命令行接口。

  • Thrift 客户端:上面的架构图里没有写上 Thrift 客户端,但是 hive 架构的许多客户端接口是建立在 thrift客户端之上,包括 JDBC 和 ODBC 接口。

  • WEB GUI:hive 客户端提供了一种通过网页的方式访问 hive 所提供的服务。这个接口对应 hive 的 hwi 组件(hive web interface),使用前要启动 hwi 服务。

Hive架构组件

Hive Shell

shell 是我们和 Hive 交互的主要方式,我们可以在 Hive shell 执行 HiveQL 语句以及其他命令。Hive Shell 非常像 MySQL shell,它是 Hive 的命令行接口。HiveQL 跟 SQL 一样也是不区分大小写的。我们可以以两种方式执行 Hive Shell:非交互式模式和交互式模式:

  • 非交互式模式 Hive:Hive Shell 可以以非交互式模式执行。只要使用 -f 选项并指定包含 HQL 语句的文件的路径。如:hive -f my-script.sql

  • 交互式模式 Hive:所谓交互式模式,就是在 Hive Shell 直接执行命令,Hive 会在 shell 返回执行结果。只要在 Linux Shell 输入 hive 即可进去交互式模式 hive shell。

Hive Shell

Apache Hive 的特性

Hive 有很多特性,然我们来一个个看一下:

  • Hive 以简单的方式提供数据摘要,数据查询和数据分析能力。
  • Hive 支持外部表,这使得它可以处理未存储在 HDFS 的数据。
  • Apache Hive 非常适合 Hadoop 的底层接口需求。
  • 支持数据分区
  • Hive 有一个基于规则的优化器,负责优化逻辑计划。
  • 可扩展性以及可伸缩性
  • 使用 HiveQL 不需要深入掌握编程语言,只有掌握基本的 SQL 知识就行,使用门槛较低。
  • 处理结构化数据。
  • 使用 Hive 执行即时查询做数据分析。

Apache Hive 局限性

Hive 具有以下局限性:

  • Hive 不支持实时查询和行级更新。
  • 高延迟。
  • 不适用于在线事务处理。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 尚硅谷大数据技术之cdh vmware是一个虚拟机镜像,用于学习和实践大数据技术。 CDH是Cloudera公司的一整套Hadoop生态系统的发行版,包含了Hadoop的核心组件如HDFS、MapReduce、YARN、Hive、HBase等,而尚硅谷大数据技术之cdh vmware是一个已经预装了CDH的虚拟机镜像,方便用户快速使用和学习。 VMware是一款虚拟化软件,可以在一台物理机上运行多个虚拟机,每个虚拟机都可以独立运行自己的操作系统和软件。尚硅谷将CDH预装在VMware中,方便用户在自己的电脑上运行一个基于CDH的虚拟机环境,进行大数据技术的学习和实践。 使用尚硅谷大数据技术之cdh vmware,用户无需自己配置和安装CDH,只需下载并导入到VMware中,即可快速启动CDH环境。这样可以节省用户的时间和精力,让用户更加专注于对CDH的学习和使用。 尚硅谷大数据技术之cdh vmware不仅提供了CDH的基础组件,还包含了一些附加工具和示例数据,帮助用户更好地理解和实践大数据技术。用户可以通过尚硅谷提供的教程和实验来学习和掌握CDH的各项功能和应用场景。 总而言之,尚硅谷大数据技术之cdh vmware是一个方便快捷的大数据技术学习工具,通过预装CDH在VMware中,用户可以轻松构建和管理自己的大数据环境,并进行实际操作和实践。 ### 回答2: 尚硅谷大数据技术之cdh vmware是一个基于VMware虚拟机的大数据解决方案。CDH是Cloudera公司提供的Hadoop生态系统的一个发行版,它包括了Hadoop、Hive、HBase、Spark等大数据处理工具和框架,可以支持大规模数据的存储和分析。 CDH VMWare是尚硅谷提供的一个预配置的CDH虚拟机镜像,使用VMware虚拟化技术,方便用户快速搭建和配置CDH集群环境。它提供了一个简单且易于理解的操作界面,使得用户可以快速上手,无需复杂的配置和搭建过程。 CDH VMWare 可以帮助用户实现以下目标: 1. 快速搭建大数据环境:CDH VMWare提供了一个预先配置好的大数据集群环境,用户只需要简单地导入该镜像文件,即可获得一个完整的CDH集群环境,大大减少了搭建和配置环境的时间和成本。 2. 学习和实践大数据技术:CDH VMWare提供了一个完整的CDH集群环境,用户可以在该环境中学习和实践各种大数据技术和工具,例如Hadoop、Hive、HBase等,帮助用户快速掌握大数据处理的方法和技巧。 3. 开发和测试大数据应用:CDH VMWare提供了一个完整的CDH集群环境,用户可以在该环境中开发和测试各种大数据应用程序,例如基于Hadoop的数据处理程序、基于Spark的数据分析程序等,帮助用户快速验证和调试应用程序的正确性和性能。 总之,尚硅谷大数据技术之CDH VMWare是一个方便快速的大数据解决方案,可以帮助用户快速搭建和配置CDH集群环境,学习和实践大数据技术,以及开发和测试大数据应用程序。 ### 回答3: 尚硅谷是一个IT培训机构,他们提供了大数据技术培训,其中包括了CDH和VMware。 CDH(Cloudera Distributed Hadoop)是一个开源的大数据解决方案,它提供了一个基于Apache Hadoop的完整平台。CDH集成了多个大数据工具和组件,如Hadoop、Spark、Hive和HBase等,使用户可以更加方便地进行大数据处理和分析。通过CDH,用户可以管理和处理大规模的数据集,进行数据存储、计算和查询等操作。 而VMware是一个虚拟化技术提供商,其产品包括VMware Workstation、VMware Fusion和VMware ESXi等。虚拟化技术允许用户在物理服务器上运行多个虚拟机,实现资源的合理利用和管理。在大数据领域,VMware虚拟化技术可以用来部署大数据集群,提供高可用性和灵活性。用户可以在虚拟机中安装CDH,并使用CDH进行大数据处理和分析。 尚硅谷的大数据技术之CDH VMware课程,通过理论和实践相结合的方式,帮助学员掌握CDH和VMware的基本概念、部署与管理技能,并能够运用它们进行大数据的处理和分析。在课程中,学员将会学习CDH和VMware的安装与配置,了解它们的架构和原理,学会使用CDH集群进行数据处理和分析,以及利用VMware虚拟化技术在CDH环境中搭建大数据集群。 通过尚硅谷的大数据技术之CDH VMware课程,学员能够全面了解CDH和VMware在大数据领域的应用,掌握相关技能,并在实际工作中灵活运用,从而有效地处理和分析大规模的数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值