无法将数据从Cloudant加载到Watson Studio Notebook中的Python / Spark数据框中

时间:2018-07-10 14:05:25

标签: python watson-studio python-cloudant

我正在尝试将Cloudant DB中的数据加载到Watson Studio中的Python和Spark环境中的Python / Spark数据帧中。我已按照this链接中提到的步骤进行操作,并停留在过程3:步骤5中。我已经有一个名称为'twitterdb'的cloudant数据库,我正尝试从此处加载数据。

错误截图

Error Screenshot when loading the data from cloudant db

1 个答案:

答案 0 :(得分:1)

通过查看错误,我发现与IBM Cloud的Spark As Service上可用的Spark版本相比,您必须安装了错误的Cloudant Connector。 Spark As Service提供Spark版本2.1.2。

现在,从教程开始,步骤之一指示安装Spark Cloudant软件包。

pixiedust.installPackage("org.apache.bahir:spark-sql-cloudant_2.11:0")

我认为必须安装错误版本的Spark Cloudant连接器,因为它正在尝试使用错误状态。

/gpfs/global_fs01/sym_shared/YPProdSpark/user/s97c-0d96df4a6a0cd8-8754c7852bb5/data/libs/spark-sql-cloudant_2.11-2.2.1.jar

正确的版本将被安装/使用 https://mvnrepository.com/artifact/org.apache.bahir/spark-sql-cloudant_2.11/2.1.2

现在重要的是默认情况下已安装Spark Cloudant连接器。 /usr/local/src/dataconnector-cloudant-2.0/spark-2.0.0/libs /

您应该使用pixiedust卸载用户安装的软件包。

pixiedust.packageManager.uninstallPackage("org.apache.bahir:spark-sql-cloudant_2.11:2.2.1")

然后重新启动内核,然后按照说明使用cloudant连接器从 云端数据库。

spark = SparkSession\
    .builder\
    .appName("Cloudant Spark SQL Example in Python using dataframes")\
    .config("cloudant.host","ACCOUNT.cloudant.com")\
    .config("cloudant.username", "USERNAME")\
    .config("cloudant.password","PASSWORD")\
    .config("jsonstore.rdd.partitions", 8)\
    .getOrCreate()

# ***1. Loading dataframe from Cloudant db
df = spark.read.load("n_airportcodemapping", "org.apache.bahir.cloudant")
df.cache() 
df.printSchema()

参考:-https://github.com/apache/bahir/tree/master/sql-cloudant

谢谢, 查尔斯。