代码:
from pyspark.mllib.classification import LabeledPoint, NaiveBayes
from pyspark import SparkContext as sc
data = [
LabeledPoint(0.0, [0.0, 0.0]),
LabeledPoint(0.0, [0.0, 1.0]),
LabeledPoint(1.0, [1.0, 0.0])]
model = NaiveBayes.train(sc.parallelize(data))
model.predict(array([0.0, 1.0]))
model.predict(array([1.0, 0.0]))
model.predict(sc.parallelize([[1.0, 0.0]])).collect()
答案 0 :(得分:1)
这里的问题是您的示例第二行的导入:
from pyspark import SparkContext as sc
这会使用SparkContext
类覆盖内置的sc
实例(存储在SparkContext
中),导致后来的sc.parallelize()
调用失败。
在Databricks中,您不需要自己创建SparkContext;它在Databricks笔记本中自动预定义为sc
。有关Databricks中预定义变量的更完整列表,请参阅https://docs.databricks.com/user-guide/getting-started.html#predefined-variables。