华为云计算 云知识 Loader是什么

Loader是什么

Loader是在开源Sqoop组件的基础上进行了一些扩展,实现MRS与关系型数据库、文件系统之间交换“数据”、“文件”,同时也可以将数据从关系型数据库或者文件服务器导入到MRS的HDFS/HBase中,或者反过来从HDFS/HBase导出到关系型数据库或者文件服务器中。

Loader模型主要由Loader Client和Loader Server组成,如图1所示。

图1 Loader模型

Loader是什么

Loader通过MapReduce作业实现并行的导入或者导出作业任务,不同类型的导入导出作业可能只包含Map阶段或者同时Map和Reduce阶段。

Loader同时利用MapReduce实现容错,在作业任务执行失败时,可以重新调度。

数据导入到HBase

在MapReduce作业的Map阶段中从外部数据源抽取数据。

在MapReduce作业的Reduce阶段中,按Region的个数启动同样个数的Reduce Task,Reduce Task从Map接收数据,然后按Region生成HFile,存放在HDFS临时目录中。

在MapReduce作业的提交阶段,将HFile从临时目录迁移到HBase目录中。

数据导入HDFS

在MapReduce作业的Map阶段中从外部数据源抽取数据,并将数据输出到HDFS临时目录下(以“输出目录-ldtmp”命名)。

在MapReduce作业的提交阶段,将文件从临时目录迁移到输出目录中。

数据导出到关系型数据库

在MapReduce作业的Map阶段,从HDFS或者HBase中抽取数据,然后将数据通过JDBC接口插入到临时表(Staging Table)中。

在MapReduce作业的提交阶段,将数据从临时表迁移到正式表中。

数据导出到文件系统

在MapReduce作业的Map阶段,从HDFS或者HBase中抽取数据,然后将数据写入到文件服务器临时目录中。

在MapReduce作业的提交阶段,将文件从临时目录迁移到正式目录。


上一篇:云市场服务商如何作废代金券 下一篇:晓智媒体助手业务流程说明