【发布时间】:2017-10-10 17:36:14
【问题描述】:
我有一个由 sql 查询产生的数据框
df1 = sqlContext.sql("select * from table_test")
我需要将此数据帧转换为 libsvm 格式,以便可以将其作为输入提供给
pyspark.ml.classification.LogisticRegression
我尝试执行以下操作。但是,这导致了以下错误,因为我使用的是 spark 1.5.2
df1.write.format("libsvm").save("data/foo")
Failed to load class for data source: libsvm
我想改用 MLUtils.loadLibSVMFile。我在防火墙后面,不能直接 pip 安装它。所以我下载了文件,对其进行了 scp 编辑,然后手动安装了它。一切似乎都正常,但我仍然收到以下错误
import org.apache.spark.mllib.util.MLUtils
No module named org.apache.spark.mllib.util.MLUtils
问题 1:我上述将数据帧转换为 libsvm 格式的方法是否正确。 问题 2:如果问题 1“是”,如何让 MLUtils 工作。如果“否”,将数据帧转换为 libsvm 格式的最佳方法是什么
【问题讨论】:
-
而不是
import org.apache.spark.mllib.util.MLUtils,你试过from pyspark.mllib.util import MLUtils吗? -
from pyspark.mllib.util import MLUtils 做到了。谢谢
标签: apache-spark pyspark apache-spark-sql spark-dataframe apache-spark-mllib