Apache Hive可以帮助您快速查询和管理大型数据集。 它是Hadoop生态系统的ETL工具。 在本教程中,您将学习Hive的重要主题,如HQL查询,数据提取,分区,bucket等。
Hive简介
Hive是在Hadoop之上开发的。 它是一个数据仓库框架,用于查询和分析存储在HDFS中的数据。 Hive是一个开源软件,可以让程序员在Hadoop上分析大型数据集。
在业界收集和分析商业智能的数据集的大小正在增长,并且在某种程度上,它使传统的数据仓库解决方案更加昂贵。 带有MapReduce框架的Hadoop被用作分析大数据集的替代解决方案。 虽然Hadoop已经证明对于处理大型数据集非常有用,但它的MapReduce框架水平非常低,它要求程序员编写难以维护和重用的自定义程序。
Hive演变为基于Hadoop Map-Reduce框架构建的数据仓库解决方案。
Hive提供类似SQL的声明性语言,称为HiveQL ,用于表达查询。 使用与SQL关联的Hive-QL用户可以非常轻松地执行数据分析。
Hive引擎将这些查询编译为要在Hadoop上执行的Map-Reduce作业。 此外,还可以将自定义Map-Reduce脚本插入查询中。 Hive对存储在表中的数据进行操作,这些数据由原始数据类型和集合数据类型(如数组和映射)组成。
Hive附带一个命令行shell接口,可用于创建表和执行查询。
Hive查询语言类似于SQL,它支持子查询。 使用Hive查询语言,可以跨Hive表进行MapReduce连接。 它支持简单的SQL函数 -CONCAT,SUBSTR,ROUND等,以及聚合函数 – SUM,COUNT,MAX等。它还支持GROUP BY和SORT BY子句。 也可以在Hive查询语言中编写用户定义的函数。
参考资料
- python测试开发项目实战-目录
- python工具书籍下载-持续更新
- python 3.7极速入门教程 – 目录
- 讨论qq群630011153 144081101
- 原文地址
- 本文涉及的python测试开发库 谢谢点赞!
- [本文相关海量书籍下载](https://github.com/china-testing/python-api-tesing/blob/master/books.md
Hive Vs Map Reduce
在Hive和Map之间进行选择时,需要考虑以下因素;
- 数据类型
- 数据量
- 代码的复杂性
特征 | Hive | Map Reduce |
---|---|---|
语言 | 它支持SQL,如用于交互和数据建模的查询语言 | 编译语言,其中包含两个主要任务。 一个是map任务,另一个是reducer。可以使用Java或Python定义这些任务 |
抽象程度 | 基于HDFS的更高级别象 | 较低的抽象层次 |
代码效率 | 比Map Reduce相对低效 | 高效率 |
代码 | 开发量较少 | 开发量较多 |