1- hive和sqoop组件介绍

Hive:Facebook为了解决海量日志数据的分析而开发了Hive,后来开源给了Apache软件基金会。Hive是一种用类SQL语句来协助读写、管理那些存储在分布式存储系统(hadoop)上大数据集的数据仓库软件。

Hive的特点:

1:通过类SQL脚本执行大数据平台数据读取和写入以及数据分析,避免开发人员需要写复杂的mapredurce程序,让数据分析人员专注他们的分析工作。

2:非富的分析函数和窗口函数,不满足需求的还支持自定义的开发函数。

3:hive是不存储数据的,都存储在HDFS平台上,只是对每个数据文件做一个映射成数据库里的表和字段,一般通过关系库来存储这些元数据。

4:适用于支持离线计算的场景,适合支持大数据量的计算。

Hive的架构:

1- hive和sqoop组件介绍_第1张图片

 

Sqoop:是一个ETL工具,主要用于HDFS与关系库的数据同步。

导入:将数据从关系型数据库导入 HDFS 中,其流程图如下所示

1- hive和sqoop组件介绍_第2张图片

用户输入一个 Sqoop import 命令,Sqoop 会从关系型数据库中获取元数据信息,比如要操作数据库表的 schema是什么样子,这个表有哪些字段,这些字段都是什么数据类型等。它获取这些信息之后,会将输入命令转化为基于 Map 的 MapReduce作业。这样 MapReduce作业中有很多 Map 任务,每个 Map 任务从数据库中读取一片数据,这样多个 Map 任务实现并发的拷贝,把整个数据快速的拷贝到 HDFS 上。

 

导出:将数据从 HDFS 导入关系型数据库表中,其流程图如下所示

1- hive和sqoop组件介绍_第3张图片

用户输入一个 Sqoop export 命令,它会获取关系型数据库的 schema,建立 Hadoop 字段与数据库表字段的映射关系。 然后会将输入命令转化为基于 Map 的 MapReduce作业,这样 MapReduce作业中有很多 Map 任务,它们并行的从 HDFS 读取数据,并将整个数据拷贝到数据库中。

以上是简单介绍了下在大数据仓库下的主要2个组件。在下面的课程里将介绍这些组件的语法和案例,再通过迁移我们之前的项目代码,实现在大数据平台上的数据开发。

更多技术文章请关注公众号BLT328(长按后点识别图中二维码):

你可能感兴趣的:(dw,hive,基于大数据的数仓Hive)