【问题标题】:Can't import spark within DSX environment无法在 DSX 环境中导入 spark
【发布时间】:2018-04-01 05:16:18
【问题描述】:

我正在尝试从 spark.mllib 导入 KMeans 和 Vectors 类。该平台是带有 python 3.5 和 Junyper Notebook 的 IBM Cloud (DSX)。

我试过了:

import org.apache.spark.mllib.linalg.Vectors
import apache.spark.mllib.linalg.Vectors
import spark.mllib.linalg.Vectors

我找到了几个示例/教程,其中第一个 import 为作者工作。我已经能够确认 spark 库本身没有加载到环境中。通常,我会下载包然后import。但作为 VM 新手,我不知道如何实现这一点。

我也试过pip install spark 没有运气。它抛出一个错误,内容如下:

The following command must be run outside of the IPython shell:

    $ pip install spark

The Python package manager (pip) can only be used from outside of IPython.
Please reissue the `pip` command in a separate terminal or command prompt.

但这是在我无法从外部访问 CLI 的 VM 中。

我确实找到了this,但我不认为我有不匹配的问题 - 导入到 DSX 的问题已涵盖,但我不能完全根据我的情况解释它。

我认为this 是我遇到的实际问题,但它是针对 sparkR 而不是 python。

【问题讨论】:

    标签: python-3.x apache-spark ibm-cloud apache-spark-mllib data-science-experience


    【解决方案1】:

    您似乎正在尝试在 Python 笔记本中使用 Scala 代码。

    获取火花会话:

    from pyspark.sql import SparkSession
    
    spark = SparkSession.builder.getOrCreate()
    

    这将打印 Spark 的版本:

    spark.version
    

    要导入 ML 库:

    from pyspark.ml import Pipeline
    from pyspark.ml.clustering import KMeans
    from pyspark.ml.clustering import KMeansModel
    from pyspark.ml.feature import VectorAssembler
    from pyspark.ml.linalg import Vectors
    

    注意:这使用 spark.ml 包。 spark.mllib 包是基于 RDD 的库,目前处于维护模式。主要的 ML 库现在是 spark.ml(基于 DataFrame)。

    https://spark.apache.org/docs/latest/ml-guide.html

    【讨论】:

    • 这是我需要的推动力。我发现您仍然需要使用 !pip install --user pyspark 安装 pyspark(在 jupyter 级别提供访问权限)。我注意到mllibml 都可以工作,只是语法不同——但会重新编码为ml。谢谢。
    【解决方案2】:

    DSX 环境没有 Spark。创建新笔记本时,您必须决定它是在新环境之一中运行(不使用 Spark)还是在 Spark 后端中运行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-21
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 2020-10-20
      • 1970-01-01
      • 1970-01-01
      • 2015-09-25
      相关资源
      最近更新 更多