无法在 DSX 环境中导入 spark

Can't import spark within DSX environment

我正在尝试从 spark.mllib 导入 KMeans 和向量 类。该平台是带有 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

我发现了几个 examples/tutorials,第一个 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 的能力。

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

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

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

获取 spark 会话:

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-based 库,目前处于维护模式。主要 ML 库现在是 spark.ml (DataFrame-based).

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

DSX 环境没有 Spark。当您创建一个新笔记本时,您必须决定它是在没有 Spark 的新环境中运行,还是在 Spark 后端运行。