自动化HDFS数据复制机制的简单方法!

到目前为止,我们已经看到了从HDFS复制数据的不同选择。大多数机制没有自动化或调度功能,不过是用于访问数据的低级方法。如果希望自动化数据副本,可以将其中一种低级技术包含在调度引擎(如cron或Quartz)中。但是,如果正在寻找开箱即用的自动化工具,本节很适合你阅读。

在本章的前半部分,我们研究了两种可以将半结构化和二进制数据转换为HDFS的机制:开源HDFS File Slurper项目和Oozie,它们触发了数据入口工作流程。使用本地文件系统进行输入(以及输出)的挑战是,在集群上运行的map和reduce任务将无法访问特定服务器上的文件系统,将数据从HDFS移动到文件系统有三个广泛的选择:

  • 在服务器(例如Web服务器)上托管agent,然后使用MapReduce将其写入。

  • 在MapReduce中写入本地文件系统,然后在后处理步骤中触发远程服务器上的脚本以移动该数据。

  • 在远程服务器上运行进程以直接从HDFS提取数据。

第三种选择是首选方法,因为最简单且最有效,因此这是本节的重点。我们将了解如何使用HDFS File Slurper自动将文件从HDFS移出到本地文件系统。

从HDFS导出文件的自动机制

假设有MapReduce用HDFS编写的文件,你想要将它们自动提取到本地文件系统。任何Hadoop工具都不支持此类功能,因此必须查看其他方法。

问题

自动将文件从HDFS移动到本地文件系统。

解决方案

HDFS文件Slurper可用于将文件从HDFS复制到本地文件系统。

讨论

这里的目标是使用HDFS File Slurper项目(https://github.com/alexholmes/ hdfs-file-slurper)来协助自动化。我们在前文详细介绍了HDFS File Slurper,请在继续使用此技术之前阅读该部分。

HDFS Slurper支持将数据从HDFS移动到本地目录,我们需要做的就是翻转源目录和目标目录,如Slurper配置文件以下所示:

你会注意到,HDFS中不仅有源目录,而且还有工作,完成和错误目录。这是因为需要能够在目录之间自动移动文件,而不会产生跨文件系统复制的昂贵开销。

总结

此时,你可能想知道如何触发Slurper来复制刚刚使用MapReduce作业编写的目录。当MapReduce作业成功完成时,它会在作业输出目录中创建一个名为_SUCCESS的文件。这似乎是启动输出进程将该内容复制到本地文件系统的完美触发器。事实证明,Oozie有一种机制可以在检测到这些Hadoop文件“成功”时触发工作流程,但这里的挑战是Oozie执行的任何工作都是在MapReduce中执行的,所以它不能用于执行直接转移。可以编写自己的脚本,轮询HDFS以查找已完成的目录,然后触发文件复制过程。如果源文件需要保持不变,那么文件复制过程可以是Slurper或简单的hadoop fs -get命令。

在本章的下一篇文章中,我们将介绍如何将Hadoop中的数据写入关系数据库。

相关文章:

1、《第一章:Hadoop生态系统及运行MapReduce任务介绍!》链接:  http://blog.itpub.net/31077337/viewspace-2213549/

2、《学习Hadoop生态第一步:Yarn基本原理和资源调度解析!》链接:  http://blog.itpub.net/31077337/viewspace-2213602/

3、《MapReduce如何作为Yarn应用程序运行?》链接:  http://blog.itpub.net/31077337/viewspace-2213676/

4、《Hadoop生态系统各组件与Yarn的兼容性如何?》链接:  http://blog.itpub.net/31077337/viewspace-2213960/

5、《MapReduce数据序列化读写概念浅析!》链接:  http://blog.itpub.net/31077337/viewspace-2214151/

6、《MapReuce中对大数据处理最合适的数据格式是什么?》链接:  http://blog.itpub.net/31077337/viewspace-2214325/

7、《如何在MapReduce中使用SequenceFile数据格式?》链接:  http://blog.itpub.net/31077337/viewspace-2214505/

8、《如何在MapReduce中使用Avro数据格式?》链接:  http://blog.itpub.net/31077337/viewspace-2214709/

9、《企业自有数据格式杂乱,MapReduce如何搞定?》链接:  http://blog.itpub.net/31077337/viewspace-2214826/

10、《企业使用Hadoop的重大挑战:如何在HDFS中组织和使用数据?》链接:  http://blog.itpub.net/31545816/viewspace-2215158/  

11、《如何在HDFS中进行数据压缩以实现高效存储?》链接:   http://blog.itpub.net/31545816/viewspace-2215281/

12、《Hadoop数据传输:如何将数据移入和移出Hadoop?》链接:  http://blog.itpub.net/31545816/viewspace-2215580/

13、《如何将日志和二进制文件连续移入HDFS?》链接:  http://blog.itpub.net/31545816/viewspace-2215948/

14、《如何将传统关系数据库的数据导入Hadoop?》链接:  http://blog.itpub.net/31545816/viewspace-2216000/

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31545816/viewspace-2216448/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31545816/viewspace-2216448/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值