我正在尝试将最新的 spark-cloudant 包与笔记本一起使用:
%AddJar -f https://github.com/cloudant-labs/spark-cloudant/releases/download/v1.6.4/cloudant-spark-v1.6.4-167.jar
哪个输出:
Starting download from https://github.com/cloudant-labs/spark-cloudant/releases/download/v1.6.4/cloudant-spark-v1.6.4-167.jar
Finished download of cloudant-spark-v1.6.4-167.jar
其次是:
val dfReader = sqlContext.read.format("com.cloudant.spark")
dfReader.option("cloudant.host", sourceDB.host)
if (sourceDB.username.isDefined && sourceDB.username.get.nonEmpty) dfReader.option("cloudant.username", sourceDB.username.get)
if (sourceDB.password.isDefined && sourceDB.password.get.nonEmpty) dfReader.option("cloudant.password", sourceDB.password.get)
val df = dfReader.load(sourceDB.database).cache()
哪个输出:
Use connectorVersion=1.6.3, dbName=ratingdb, indexName=null, viewName=null,jsonstore.rdd.partitions=5, + jsonstore.rdd.maxInPartition=-1,jsonstore.rdd.minInPartition=10, jsonstore.rdd.requestTimeout=900000,bulkSize=20, schemaSampleSize=1
连接器是 1.6.3。我的笔记本是:
Scala 2.10 with Spark 1.6
我试过重新启动内核,但没有帮助。
其他调试信息:
Server Information:
You are using Jupyter notebook.
The version of the notebook server is 4.2.0 and is running on:
Python 2.7.11 (default, Jun 24 2016, 12:41:03)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-4)]
Current Kernel Information:
IBM Spark Kernel
更新
我尝试了以下方法:
import sys.process._
"test -d ~/data/libs/scala-2.10" #|| "mkdir -p ~/data/libs/scala-2.10" !
"wget -c -O ~/data/libs/scala-2.10/cloudant-spark-v1.6.4-167.jar https://github.com/cloudant-labs/spark-cloudant/releases/download/v1.6.4/cloudant-spark-v1.6.4-167.jar" !
"ls ~/data/libs/scala-2.10/" !
println("Now restart the kernel")
不幸的是,这不起作用 - 1.6.3 仍在使用中。
更新 2
在上面的代码中,tilda 似乎没有解析到我的 HOME 文件夹。
请参阅工作解决方案的答案。