当前位置: 首页 > 知识库问答 >
问题:

hadoop将结果从hdfs复制到S3

段铭晨
2023-03-14

我已经成功地完成了在Amazon EMR上的工作,现在我想将结果从HDFS复制到S3,但是我遇到了一些问题

这是代码(--steps)

{
    "Name":"AAAAA",
    "Type":"CUSTOM_JAR",
    "Jar":"command-runner.jar",
    "ActionOnFailure":"CONTINUE",
    "Args": [
        "s3-dist-cp",
        "--src", "hdfs:///seqaddid_output",
        "--dest", "s3://wuda-notebook/seqaddid"
    ]  
}

这是日志:

共有1个答案

伯庆
2023-03-14

当CopyFilesReducer使用多个CopyFilesRunable实例从S3下载文件时,该bug似乎是由竞争条件引起的。问题是它在多个线程中使用相同的临时目录,线程在完成时删除临时目录。因此,当一个线程在另一个线程之前完成时,它会删除另一个线程仍在使用的临时目录。

我已经向AWS报告了这个问题,但与此同时,您可以通过在作业配置中将变量s3distcp.copyfiles.mapper.numworkers设置为1,强制精简器使用单个线程来解决这个bug。

 类似资料:
  • 是否有一种已知的方法使用Hadoop api/spark scala在Hdfs上将文件从一个目录复制到另一个目录? 我尝试使用copyFromLocalFile,但没有帮助

  • 我们有一个FTP服务器,每天都有很多文件上传到FTP服务器,我需要在HDFS中复制所有这些文件。 每次只应下载增量文件,即首次下载10个文件后,FTP上载了5个新文件;在作业的下一次迭代中,它应该只下载HDFS中的新5个文件。 我们没有使用Nifi或Kafka连接。 我们有什么好的解决方案来完成这项任务吗?

  • 我想将文件salesjan2009.csv(存储在本地文件系统中,~/input/salesjan2009.csv)复制到HDFS(Hadoop分布式文件系统)主目录中 我编写了这段代码hduser@ubuntu:/usr/local/hadoop$hdfs dfs-copyfromlocal'/home/hduser/desktop/input/salesjan2009.csv'/hdfs-pa

  • 我需要从本地文件系统复制一个文件夹到HDFS。我找不到任何例子移动文件夹(包括它的所有子文件夹)到HDFS

  • 我正在尝试使用EMR中的工作流将文件从s3复制到hdfs,当我运行以下命令时,jobflow成功启动,但当它尝试将文件复制到HDFS时给我一个错误。我需要设置任何输入文件权限吗? 命令: ./elastical mapreduce--作业流j-35D6JOYEDCELA--jar s3://us-east-1.elasticmapreduce/libs/s3distcp/1.latest/s3di

  • 我想每小时将更新的文件从本地文件系统复制到Hadoop,因为我想放入cron。我可以使用任何hadoop命令将更新的文件从本地复制到Hadoop吗?