使用spark-cloudant连接器从本地Spark群集(PySpark)连接Cloudant DB时出错

时间:2016-07-22 17:40:09

标签: apache-spark pyspark cloudant

    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-dispatcher-2]关闭ActorSystem [sparkDriverActorSystem]的未捕获致命错误 java.lang.ExceptionInInitializerError

引起:java.lang.NoSuchMethodError:scala.Predef $ ArrowAssoc $ .extension $$减$ more(Ljava / lang / Object; Ljava / lang / Object;)Lscala / Tuple2         在org.parboiled.scala.Parser $ class.rule(Parser.scala:73)         在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)

1 个答案:

答案 0 :(得分:0)

我怀疑这个错误是因为Scala版本错误。您使用的scala版本是什么?对于火花和火花云,你需要Scala 2.10。