Hive基础知识

这篇具有很好参考价值的文章主要介绍了Hive基础知识。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.Hive简介

  Hive是由Facebook开源用于解决海量结构化日志的数据统计工具。Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能。

2.Hive本质

Hive的本质是将HQL转化成MapReduce程序。

Hive基础知识

  • Hive处理的数据存储在HDFS。

  • Hive分析数据底层的实现是MapReduce。

  • 执行程序运行在Yarn上。

  • 结构化数据文件和表的映射关系以元数据的形式存储在数据库中(Derby或MySQL)。

3.Hive架构原理

Hive基础知识

  • 1.用户接口(Client):CLI(command-line interface)、JDBC/ODBC(jdbc访问hive)。
  • 2.元数据:Metastore:
    • 元数据包括:表名、表所属的数据库(默认是default)、表的拥有者、列/分区字段、表的类型(是否是外部表)、表的数据所在目录等;
    • 默认存储在自带的derby数据库中,推荐使用MySQL存储Metastore
  • 3.Hadoop(HDFS):使用HDFS进行存储,使用MapReduce进行计算。
  • 4.驱动器:Driver:
    • 解析器(SQL Parser) 将SQL字符串转换成抽象语法树AST,这一步一般都用第三方工具库完成,比如antlr;对AST进行语法分析,比如表是否存在、字段是否存在、SQL语义是否有误。
    • 编译器(Physical Plan) 将AST编译生成逻辑执行计划。
    • 优化器(Query Optimizer) 对逻辑执行计划进行优化。
    • 执行器(Execution) 把逻辑执行计划转换成可以运行的物理计划。对于Hive来说,就是MR/Spark

4.Hive的运行流程

Hive基础知识

  • 用户通过Hive提供的一些列交互接口向Hive发送命令。
  • Hive接收到命令(SQL)后,使用自己的Driver并结合元数据(MetaStore),将指令翻译为MapReduce。
  • 再将MR提交到Hadoop中执行。
  • 最后,再将执行返回的结果输出到用户交互接口。

5.Hive vs 数据库

数据库可用于在线业务中,而Hive是为数据仓库而设计的。

方面 备注
查询语言 由于SQL被广泛应用于数据仓库中,因此针对Hive的特性设计了类似SQL的查询语言HQL,熟悉SQL的开发者可以很方便的使用Hive进行开发。
数据规模 由于Hive建立再Hadoop集群上并可以利用MapReduce进行并行计算,因此可以支持大规模的数据,相反,数据库可支持的数据规模就相对较小了。
数据更新 由于Hive是针对数据仓库应用设计的,而数据仓库的使用场景多是读多写少。因此Hive不建议对数据进行频繁改写,所有的数据都是在加载时确定好。相反,数据库中的数据通常是需要经常进行修改,因此可以使用insert into ……values添加数据,或使用update set 修改数据。
执行延迟 Hive在查询数据时,由于没有索引,需要扫描整个表,因此延迟比较高。另一个导致Hive执行延迟高的因素是MapReduce框架。由于MapReduce本身具有较高的延迟,因此,在利用MapReduce执行Hive查询时会有较高的延迟。 相反数据库的执行延迟较低,当然,这个是有条件的,即数据规模较小,当数据规模大到超过数据库的处理能力的时候,Hive的并行计算的优势就凸显出来了。

6.Hive的优缺点

6.1 优点

  • 提供了类SQL语法操作接口,具备快速开发的能力(简单、易上手)。

  • 避免了去写MapReduce,减少开发人员的学习成本。

  • Hive优势在于处理大数据,对于处理小数据没有优势,因为Hive的执行延迟比较高。

  • Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数。

6.2 缺点

  • Hive的HQL表达能力有限

    • 迭代式算法无法表达。
    • 数据挖掘方面不擅长,由于MapReduce数据处理流程的限制,效率更高的算法却无法实现。
  • Hive的效率比较低文章来源地址https://www.toymoban.com/news/detail-507623.html

    • Hive自动生成的MapReduce作业,通常情况下不够智能化。
    • Hive调优比较困难,粒度较粗。

7.总结

  • Hive是基于hadoop的数据仓库工具,提供了类SQL语言便于查询计算。
  • Hive本质:将HQL转换MapReduce程序。
  • Hive与数据库的比较在于四个方面:查询语言、数据规模、数据更新、执行延迟

到了这里,关于Hive基础知识的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Hive基础知识(十五):Hive中SQL排序方式全解

    Order By:全局排序,只有一个 Reducer 1)使用 ORDER BY 子句排序 ASC(ascend): 升序(默认) DESC(descend): 降序 2)ORDER BY 子句在 SELECT 语句的结尾 3)案例实操 (1)查询员工信息按工资升序排列 (2)查询员工信息按工资降序排列 按照员工薪水的2 倍排序 按照部门和工资升序排

    2024年01月19日
    浏览(35)
  • Hive基础知识(十):Hive导入数据的五种方式

    1)语法 (1)load data:表示加载数据 (2)local:表示从本地加载数据到 hive 表;否则从 HDFS 加载数据到 hive 表 (3)inpath:表示加载数据的路径 (4)overwrite:表示覆盖表中已有数据,否则表示追加 (5)into table:表示加载到哪张表 (6)student:表示具体的表 (7)partition:表示上传到

    2024年01月18日
    浏览(44)
  • 视频基础知识简介

    由 一组图像 组成,且图像一般为了方便传输或者减少占用空间而被 压缩 (如H264,265等格式),最终在显示设备上进行 显示 。 图像 图像由像素组成,像素又是由RGB组成,每个点的颜色由红绿蓝进行组合形成新的颜色; 分辨率 :一张图像像素点的个数,横向像素个数乘以纵向

    2024年02月14日
    浏览(30)
  • 脉冲宽度基础知识简介

    脉冲宽度是指脉冲所能达到的最大值所持续的周期时间。脉冲宽度是电子领域中一个重要的概念,它与脉冲重复间隔和占空比等参数密切相关。 脉冲宽度通常用于电信号的测量,可以用来描述脉冲的形状、幅度和宽度等特性。在雷达和电源领域中,脉冲宽度是一个重要的衡量

    2024年02月05日
    浏览(32)
  • HBase基础知识(六):HBase 对接 Hive

    1.Hive (1) 数据仓库 Hive 的本质其实就相当于将 HDFS 中已经存储的文件在 Mysql 中做了一个双射关系,以 方便使用 HQL 去管理查询。 (2) 用于数据分析、清洗 Hive 适用于离线的数据分析和清洗,延迟较高。 (3) 基于 HDFS、MapReduce Hive 存储的数据依旧在 DataNode 上,编写的 HQL 语句终

    2024年02月04日
    浏览(28)
  • Hive基础知识(十六):Hive-SQL分区表使用与优化

    分区表实际上就是对应一个 HDFS 文件系统上的独立的文件夹,该文件夹下是该分区所有的数据文件。 Hive 中的分区就是分目录 ,把一个大的数据集根据业务需要分割成小的数据集。在查询时通过 WHERE 子句中的表达式选择查询所需要的指定的分区,这样的 查询效率会提高很多

    2024年01月18日
    浏览(30)
  • 【01】基础知识:React简介与案例

    React 概述 React 是一个将数据渲染为 HTML 视图 的开源 JavaScript 库 React 由 FaceBook 开发,且开源 为什么要学习 React 1、原生 JavaScript 操作 DOM 繁琐、效率低(使用 DOM-API 操作 UI) 2、使用 JavaScript 直接操作 DOM,浏览器会进行大量的重绘重排 3、原生 JavaScript 没有组件化编码方案,

    2024年02月07日
    浏览(40)
  • 51单片机的基础知识——单片机简介

    仅用于学习交流!!! 仅用于学习交流!!! 仅用于学习交流!!! 单片机,即单片微型计算器,简称为单片机。用专业术语来讲单片机就是在一块硅片上集成了微处理器、存储器以及各种输入/输出(I/O,I指的是input,O指的是output)口的芯片。通俗点讲,单片机是一块集

    2024年02月03日
    浏览(41)
  • 【STM32】基础知识 第一课 单片机简介

    单片机 (Single-Chip Microcomputer) 单品微型计算机, 是一种集成电路芯片. 电脑 vs 单片机: 电脑 单片机 CPU CPU 内存 SRAM 硬盘 Flash 主板 外设 SRAM 静态随机读取器 (Static Random-Access Memory): SRAM 是随机存储器的一种, 属于静态数据, 这类存储器要是维持电源, 里面存储的信息就可以恒常维持

    2024年02月11日
    浏览(52)
  • PyTorch学习笔记(二):PyTorch简介与基础知识

      👨‍💻 作者简介: 大数据专业硕士在读,CSDN人工智能领域博客专家,阿里云专家博主,专注大数据与人工智能知识分享, 公众号: GoAI的学习小屋,免费分享书籍、简历、导图等资料,更有交流群分享AI和大数据,加群方式公众号回复“加群”或➡️点击链接。 🎉 专栏

    2023年04月09日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包