Spark 1.4.0をHadoop 2.4.0で使用し、入力文字列の位置がx + 1の位置にあるaddFileメソッドを呼び出そうとします。私は位置xでエラーになります。私が間違っていることに関する提案はありますか?パスに空白があると、JavaSparkContextのaddFileメソッドを使用できない
Java exception occurred:
java.net.URISyntaxException: Illegal character in path at index x: /some/path/where/position x+1 is a space character
at java.net.URI$Parser.fail(Unknown Source)
at java.net.URI$Parser.checkChars(Unknown Source)
at java.net.URI$Parser.parseHierarchical(Unknown Source)
at java.net.URI$Parser.parse(Unknown Source)
at java.net.URI.<init>(Unknown Source)
at org.apache.spark.SparkContext.addFile(SparkContext.scala:1316)
at org.apache.spark.SparkContext.addFile(SparkContext.scala:1303)
at org.apache.spark.api.java.JavaSparkContext.addFile(JavaSparkContext.scala:671)
編集:コードスニペットと
SparkConf sconf= new SparkConf();
sconf.setMaster(somename);
sconf.setAppName(someappname);
JavaSparkContext jsconf= new JavaSparkContext(sconf);
jsconf.addFile(dataFile); // dataFile is a String object with contents "/some/path/where/position x+1 is a space character"
ADDFILEリファレンスを参照:https://spark.apache.org/docs/1.4.0/api/java/org/apache/spark/api/java/JavaSparkContext.html#addFile(java.lang.String)
あなたが問題を引き起こしたコードのスニペットを置くことができますか? – user1314742
URIなので...スペースの代わりに%20を追加して動作するかどうか確認できますか? –
皆さん、お返事ありがとうございます。私は%20を試しても動作しません: "Added File .. does not exist"を取得します。 %が25のように置換されたようですので、文字列のスペースは%2520として読み込まれます。 – Harry