zhaoyqiu的数据分析进阶之路2.0

基础知识-D1

2020-09-01  本文已影响0人  喝奶茶不加奶茶

Hadoop生态系统是为处理大数据集而产生的一个合乎成本效益的解决方案。
Hadoop实现了一个特别的计算模型,即MapReduce,其可以将计算任务分割成多个处理单元然后分散到一群家用的或服务器级别的硬件机器上,从而降低成本并提供水平可伸缩性。这个计算模型的下面是一个被称为Hadoop分布式文件系统(HDFS)的分布式文件系统。

但存在一个问题,那就是用户如何从一个现有的数据库基础架构转移到Hadoop上,而这个基础架构是基于传统关系型数据库和结构化查询语句(SQL)。

常见的SQL用户包括专业数据库设计师和管理员,也包括使用SQL从数据仓库中抽取信息的临时用户。

这就是Hive出现的原因。

Hive提供了一个被称为Hive查询语言的SQL方言(简称HiveQL或HQL),来查询存储在Hadoop集群中的数据。

Hive可以将大多数的查询转换为MapReduce任务(job),进而在介绍一个令人熟悉的SQL抽象的同时,拓宽Hadoop的可扩展性。

Hive不是一个完整的数据库。Hadoop以及HDFS的设计本身约束和局限性限制了Hive所能胜任的工作。其中最大的限制就是Hive不支持记录级别的更新、插入或者删除操作。

Hive是最适合数据仓库应用程序的,其可以维护海量数据,而且可以对数据进行挖掘,然后形成意见和报告等。

相对于其他Hadoop语言和工具来说,Hive使得开发者将基于SQL的应用程序移植到Hadoop变得更加容易。

HiveQL和Oracle,MySQL,SQL Server支持的常规SQL方言在很多方面存在差异,和MySQL提供的SQL语言最接近。

两个目的:
其一,提供一个针对所有用户的介绍,这个介绍会比较综合(结合例子),适用的用户:开发者、数据库管理员和架构师以及其他(如商业分析师)等非技术类用户。

其二,针对开发者和Hadoop管理员等需要深入了解Hive技术细节的用户提供了更详尽的讲述,以帮助这些用户学习如何优化Hive 查询性能,如何通过用户自定义函数和自定义数据格式等,来个性化使用Hive。

1.1 Hadoop和MapReduce综述

理解MapReduce的基本原理将有助于用户了解Hive在底层是如何运作的,以及了解如何才能更高效地使用Hive。

MapReduce

MapReuce是一种计算模型,该模型可将大型数据处理任务分解成很多单个的、可以在服务器集群中并行执行的任务。这些任务的计算结果可以合并在一起来计算最终的结果。

上一篇 下一篇

猜你喜欢

热点阅读