J'essaie d'exécuter un exemple de spark-ml, mais
from pyspark import SparkContext
import pyspark.sql
sc = SparkContext(appName="PythonStreamingQueueStream")
training = sqlContext.createDataFrame([
(1.0, Vectors.dense([0.0, 1.1, 0.1])),
(0.0, Vectors.dense([2.0, 1.0, -1.0])),
(0.0, Vectors.dense([2.0, 1.3, 1.0])),
(1.0, Vectors.dense([0.0, 1.2, -0.5]))], ["label", "features"])
ne peut pas fonctionner parce que le terminal me dit que
NameError: name 'SQLContext' is not defined
pourquoi c'est arrivé? et comment puis-je le résoudre?
Si vous utilisez Apache Spark 1.x (c'est-à-dire avant Apache Spark 2.0), pour accéder à sqlContext
, vous aurez besoin de pour importer le sqlContext
; ie.
from pyspark.sql import SQLContext
sqlContext = SQLContext(sc)
Si vous utilisez Apache Spark 2.0, vous pouvez simplement Spark Session
directement à la place. Par conséquent, votre code sera
training = spark.createDataFrame(...)
Pour plus d'informations, reportez-vous au Spark SQL Programing Guide .