EMR Hadoop安装包括S3DistCp,它是Apache DistCp的扩展,为在S3下工作进行了优化。S3DisrCp允许你高效率地从亚马逊S3复制大量数据到HDFS。也可以使用S3DistCp在亚马逊S3的桶之间、或者从HDFS到亚马逊S3复制数据。遗憾的是,本地Hadoop集群上不支持S3DistCP。
  这里展示的一个实现利用了S3客户端实现。Setup方法首先从执行上下文获取执行参数,然后创建上传数据到S3的map方法所使用的S3Client。因为HDFS文件可以很大,所以使用一个有固定大小队列的ThreadPoolExecutor。这将确保在同一时刻,内存中只有有限数目的文件片段,从而限制了mapper执行需要的内存大小。
  Map方法去下一个要上传的文件作为下一个值,并使用S3Client来上传文件。它将文件名保存到已处理文件列表,因此如果mapper失败,则可以重试上传。一旦文件被上传,就会从重试列表中删除文件名,以便它不会被上传两次。

关于TeamDoc软件:

TeamDoc是基于服务器/客户端架构的轻量级文件管理软件。TeamDoc将文件集中加密存储在您单位自己的服务器中,员工使用TeamDoc客户端访问服务器,从而获得与自己权限相关的权限:登入后与“我的电脑”界面类似,可以看到自己该看的文件,编辑自己能编辑的文档,对于能看到的文件,还可以细分文档权限,进而做到能看不能拷,能看不能截屏等功能,多种权限灵活设置,在线协同编辑、全文搜索、日志与版本追踪,快速构建企业文档库。告别假大空,我们提供值得您选择的、易用的、可用的文档管理软件。现在就访问TeamDoc首页

TeamDoc软件界面(点击可放大)

版权所有:南京网亚计算机有限公司,本文链接地址: 使用MapReduce上多个文件到S3