簡體   English   中英

Apache Spark:線程“ main”中的異常java.net.URISyntaxException:索引0處路徑中的非法字符:

[英]Apache Spark: Exception in thread “main” java.net.URISyntaxException: Illegal character in path at index 0:

我一直在使用Apache Spark(scala)並使用sbt構建軟件包。 我能夠構建該程序包,但Exception in thread "main" java.net.URISyntaxException: Illegal character in path at index 0:收到Exception in thread "main" java.net.URISyntaxException: Illegal character in path at index 0:

./bin/spark-submit \  "/Users/Desktop/tranasactions/target/transaction_2.10-1.0.jar" --help

我不明白為什么會這樣。

這是我的代碼

import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConf
import org.apache.spark.graphx._
import org.apache.spark.rdd.RDD

object creditFraud {

def main(args: Array[String]) {

 val conf = new SparkConf().setAppName("Transaction")
 val sc = new SparkContext(conf)

 val graph = GraphLoader.edgeListFile(sc,"Users/grantherman/Desktop/transactionFile.csv")


println("GRAPHX: Number of vertices " + graph.vertices.count)
println("GRAPHX: Number of edges " + graph.edges.count)
    }
  }

這是.sbt文件:

name := "Transaction"

version := "1.0"

scalaVersion := "2.10.4"

libraryDependencies += "org.apache.spark" %% "spark-core" % "1.3.1" % "provided"

libraryDependencies += "org.apache.spark" %% "spark-graphx" % "1.3.1" % "provided"


resolvers ++= Seq(
"Akka Repository" at "http://repo.akka.io/releases/",
"Spray Repository" at "http://repo.spray.cc/")

如果您在一行中輸入命令,請刪除“ \\”,因此它將類似於:

./bin/spark-submit "/Users/Desktop/tranasactions/target/transaction_2.10-1.0.jar" --help

“ \\”是Bash轉義字符。 如果嘗試輸入長命令,則可以將命令分成幾行,例如:

./bin/spark-submit \ 
"/Users/Desktop/tranasactions/target/transaction_2.10-1.0.jar" --help

更新 :我以前的答案僅關注“ java.net.URISyntaxException”。

為了運行spark-submit,您可以參考其文檔: https : //spark.apache.org/docs/1.1.0/submitting-applications.html

對於您的情況,可以在以下命令中執行jar文件(假設您的類名稱為org.apache.spark.examples.SparkPi ):

./bin/spark-submit --class org.apache.spark.examples.SparkPi "/Users/Desktop/tranasactions/target/transaction_2.10-1.0.jar"

或將其拆分為多行:

./bin/spark-submit \ 
--class org.apache.spark.examples.SparkPi \
"/Users/Desktop/tranasactions/target/transaction_2.10-1.0.jar"

您還可以指定希望運行的核心數量(假設為4個核心):

./bin/spark-submit \ 
--class org.apache.spark.examples.SparkPi \
--master local[4] \
"/Users/Desktop/tranasactions/target/transaction_2.10-1.0.jar"

如果您不確定jar文件是否可以正常工作,建議您在開始之前先使用spark-examples- [version] .jar。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM