gpt4 book ai didi

java - S3DistCp 作业失败 : -- dest doesn't match

转载 作者:可可西里 更新时间:2023-11-01 15:39:17 24 4
gpt4 key购买 nike

我正在尝试使用 s3DistCp 将 1 个 S3 文件夹中的一些小文件合并到另一个 S3 文件夹中。脚本类似于以下内容:

elastic-mapreduce --jobflow j-33EDUGSQCN0PZ --jar \
/home/hadoop/lib/emr-s3distcp-1.0.jar \
--args '--src,s3://li-test/data, \
--dest,s3://li-test/result, \
--groupBy,[0-9]*,\
--targetSize,128'

但我收到如下 java.lang.RuntimeException 错误。需要帮助。谢谢!

线程“main”中的异常 java.lang.RuntimeException:参数\--dest 不匹配。在 emr.hbase.options.Options.parseArguments(Options.java:75)在 emr.hbase.options.Options.parseArguments(Options.java:57)在 com.amazon.elasticmapreduce.s3distcp.S3DistCp$S3DistCpOptions.
(S3DistCp.java:124)在 com.amazon.elasticmapreduce.s3distcp.S3DistCp.run(S3DistCp.java:545)在 org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)在 org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79)在 com.amazon.elasticmapreduce.s3distcp.Main.main(Main.java:13)在 sun.reflect.NativeMethodAccessorImpl.invoke0( native 方法)在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)在 java.lang.reflect.Method.invoke(Method.java:606)在 org.apache.hadoop.util.RunJar.main(RunJar.java:187)

最佳答案

反编译存储在emr集群的/home/hadoop/lib文件夹中的emr-s3distcp-1.0.jar后,我发现java代码正在寻找这样的参数:


--src=s3://BUCKET-NAME/139kb-input --dest=s3://BUCKET-NAME/139kb-output

此行与文档之间的具体区别是在参数和参数值之间使用“=”而不是“,”。

这是 java 正在使用的 if 语句:


如果 (argument.length() >= this.arg.length() + 1 && argument.substring(0, this.arg.length() + 1).equals(this.arg + "="))

这里 this.arg 是“--src”,参数是“--src=s3://BUCKET-NAME/139kb-input”

注意事项:通过 Web 界面将步骤创建为自定义 jar 时就是这种情况。如文档所述,从命令行创建步骤时使用“,”而不是“=”。

关于java - S3DistCp 作业失败 : -- dest doesn't match,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19486928/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com