【问题标题】:Unable to load data from Cloudant into Python/Spark dataframe in Watson Studio Notebook无法将数据从 Cloudant 加载到 Watson Studio Notebook 中的 Python/Spark 数据帧中
【发布时间】:2018-12-18 10:11:58
【问题描述】:

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

错误截图

【问题讨论】:

  • 请将错误添加为文本而不是图像。无法通过搜索找到。

标签: python watson-studio python-cloudant


【解决方案1】:

通过查看错误,我发现与 IBM Cloud 的 Spark As Service 上可用的 Spark 版本相比,您一定安装了不正确的 Cloudant 连接器。 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

谢谢, 查尔斯。

【讨论】:

    猜你喜欢
    • 2021-02-16
    • 2018-07-27
    • 1970-01-01
    • 2022-11-30
    • 2016-12-31
    • 2020-08-21
    • 1970-01-01
    • 2020-07-24
    • 1970-01-01
    相关资源
    最近更新 更多