2016-07-22 92 views
0
I am getting the following error while connecting Cloudant DB from my local Spark cluster(PySpark) using spark-cloudant connector. 

    The spark-cloudant connector is: https://spark-packages.org/package/cloudant-labs/spark-cloudant 

    I am started my PySpark with following command, 
    pyspark2.cmd --jars "all jars for spark-cloudant connector" 

The code I am using, 
sqlContextNew = SQLContext(sc) 
booksDataDF = sqlContextNew.read.format("com.cloudant.spark").option("cloudant.host","AAA-HOST").option("cloudant.username", "BBB-USERNAME"). option("cloudant.password","CCC-PASSWORD").load("booksdata") 

的錯誤信息是: 16/07/22 23時01分51秒INFO JsonStoreDataAccess:重用SparkEnv ActorSystem因爲它包含噴霧 16/07/22 23時01分52秒ERROR ActorSystemImpl:從螺紋未捕獲的致命錯誤[sparkDriverActorSystem-akka.actor.default-調度-2]關停ActorSystem [sparkDriverActorSystem] java.lang.ExceptionInInitializerError錯誤而從我的本地火花簇(PySpark)連接Cloudant DB使用火花cloudant連接器

引起:java.lang.NoSuchMethodError:scala.Predef $ ArrowAssoc $ .extension $$ minus $ greater(Ljava/lang/Object; Ljava/lang/Object;)Lscala/Tuple2 at org.parboiled.scala.Parser $ class.rule(Parser.scala:73) at org.parboiled.scala.Parser $ class.rule(Parser.scala:46) at spray.http.parser.HttpParser $ .rule(HttpParser.scala:29) at spray.http.parser.CORSHeaders $ class。$ timesAccess $ minusControl $ minusMax $ minusAge(CORSHeaders.scala:59) at spray.http.parser.HttpParser $。$ timesAccess $ minusControl $ minusMax $ minusAge(HttpParser.scala:29)

回答

0

我懷疑這個錯誤是因爲錯誤的Scala版本。什麼是您正在使用的Scala版本?對於火花和火星雲,你需要Scala 2.10。

+0

嗨@Mayya Sharipova,我使用的Spark版本是spark-1.6.0-bin-hadoop2.6(Scala 2.10)。 spark-cloudant連接器的版本是spark-cloudant-1.6.2-s_2.10.jar。我想知道發生了什麼,讓我知道你是否有其他要點檢查。我會嘗試相同的。感謝您的更新。 –

+0

@PariMargu計算機上安裝了什麼是Scala版本? –

+0

Hi @Mayya Sharipova,斯卡拉版本2.10.5安裝在我的電腦中。 –