scala - tutorial - Spark 2.0 faltan las chispas implícitas
spark sql tutorial (2)
Usando Spark 2.0, veo que es posible convertir un marco de datos de filas en un marco de datos de clases de casos. Cuando trato de hacerlo, spark.implicits._
un mensaje que indica la importación de spark.implicits._
. El problema que tengo es que Intellij no está reconociendo eso como una declaración de importación válida, me pregunto si se ha movido y el mensaje no se ha actualizado, o si no tengo los paquetes correctos en mi configuración de compilación, aquí es mi build.sbt
libraryDependencies ++= Seq(
"org.mongodb.spark" % "mongo-spark-connector_2.11" % "2.0.0-rc0",
"org.apache.spark" % "spark-core_2.11" % "2.0.0",
"org.apache.spark" % "spark-sql_2.11" % "2.0.0"
)
No hay ningún paquete llamado spark.implicits
.
Con spark
aquí se refiere a SparkSession . Si está dentro del REPL, la sesión ya está definida como spark
así que simplemente puede escribir:
import spark.implicits._
Si ha definido su propia SparkSession
en algún lugar de su código, entonces ajústelo en consecuencia:
val mySpark = SparkSession
.builder()
.appName("Spark SQL basic example")
.config("spark.some.config.option", "some-value")
.getOrCreate()
// For implicit conversions like converting RDDs to DataFrames
import mySpark.implicits._
Spark utiliza el identificador de spark
para SparkSession. Esto es lo que causa la confusión. Si lo creaste con algo como
val ss = SparkSession
.builder()
.appName("test")
.master("local[2]")
.getOrCreate()
La forma correcta de importar implicits
sería,
import ss.implicits._
Déjeme saber si esto ayuda. Aclamaciones.