我正在尝试从spark.mllib导入kmeans and vectors类。该平台是带有Python 3.5和Junyper笔记本的IBM Cloud(DSX(。
我尝试过:
import org.apache.spark.mllib.linalg.Vectors
import apache.spark.mllib.linalg.Vectors
import spark.mllib.linalg.Vectors
我找到了几个示例/教程,其中第一个import
为作者工作。我能够确认火花库本身并未在环境中加载。通常,我会下载软件包,然后下载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.
这是在VM中,我看不到外部访问CLI的能力。
我确实找到了这个,但是我认为我没有一个不匹配的问题 - 涵盖了导入到DSX的问题,但我无法完全解释我的情况。
我认为这是我遇到的实际问题,但这是针对SparkR而不是Python。
看起来您正在尝试在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(基于数据框架(。
https://spark.apache.org/docs/latest/ml-guide.html
dsx环境没有火花。创建新笔记本时,您必须确定它是在一个新环境中运行,没有火花还是在Spark后端。