Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java S3DistCp作业失败:--dest不';不匹配_Java_Hadoop_Amazon Web Services_Amazon S3_Amazon Ec2 - Fatal编程技术网

Java S3DistCp作业失败:--dest不';不匹配

Java S3DistCp作业失败:--dest不';不匹配,java,hadoop,amazon-web-services,amazon-s3,amazon-ec2,Java,Hadoop,Amazon Web Services,Amazon S3,Amazon Ec2,我正在尝试使用s3DistCp将一个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' 但我得到

我正在尝试使用s3DistCp将一个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(本机方法)处 在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)上,这似乎是一个愚蠢的错误。它将以下内容解读为S3DistCp命令行选项:

\--dest

因此,与其尝试将命令分成几行,不如给出如下命令:

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'

这似乎是一个愚蠢的错误。它将以下内容解读为S3DistCp命令行选项:

\--dest

因此,与其尝试将命令分成几行,不如给出如下命令:

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'

错误消息说
\--dest
不匹配,这意味着它认为
\
是参数的一部分。试试这个:

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'

错误消息说
\--dest
不匹配,这意味着它认为
\
是参数的一部分。试试这个:

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'

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


--src=s3://BUCKET-NAME/139kb输入——dest=s3://BUCKET-NAME/139kb输出

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

这是java使用的if语句:


如果(argument.length()>=this.arg.length()+1&&argument.substring(0,this.arg.length()+1).等于(this.arg+“=”)

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


警告:在通过web界面创建步骤作为自定义jar时就是这种情况。从命令行创建步骤需要使用“,”而不是“=”。

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


--src=s3://BUCKET-NAME/139kb输入——dest=s3://BUCKET-NAME/139kb输出

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

这是java使用的if语句:


如果(argument.length()>=this.arg.length()+1&&argument.substring(0,this.arg.length()+1).等于(this.arg+“=”)

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

警告:在通过web界面创建步骤作为自定义jar时就是这种情况。从命令行创建步骤需要使用“,”而不是文档中所说的“=”