scala intellij-idea apache-spark sbt

Spark-"paquete sbt"-"valor $ no es miembro de StringContext"-¿Falta el complemento Scala?



intellij-idea apache-spark (3)

Gran respuesta chicos, si resolver la importación es una preocupación, entonces esto funcionará

import org.apache.spark.sql.{SparkSession, SQLContext} val ss = SparkSession.builder().appName("test").getOrCreate() val dataDf = ... import ss.sqlContext.implicits._ dataDf.filter(not($"column_name1" === "condition"))

Cuando ejecuto "paquete sbt" desde la línea de comando de una pequeña aplicación Spark Scala, recibo el error de compilación "value $ no es miembro de StringContext" en la siguiente línea de código:

val joined = ordered.join(empLogins, $"login" === $"username", "inner") .orderBy($"count".desc) .select("login", "count")

Intellij 13.1 me está dando el mismo mensaje de error. El mismo código fuente de .scala se compila sin problemas en Eclipse 4.4.2. Y también funciona bien con maven en un proyecto separado maven desde la línea de comando.

Parece que sbt no reconoce el signo $ porque me falta algún complemento en mi proyecto / plugins.sbt o alguna configuración en mi archivo build.sbt.

¿Estás familiarizado con este problema? Cualquier puntero será apreciado. Puedo proporcionar build.sbt y / project / plugins.sbt si es necesario.


En Spark 2.0+

Se puede usar $ -notation for columns mediante la importación implícita en el objeto SparkSession ( spark )

val spark = org.apache.spark.sql.SparkSession.builder .master("local") .appName("App name") .getOrCreate; import spark.implicits._

entonces tu código con $ notación

val joined = ordered.join(empLogins, $"login" === $"username", "inner") .orderBy($"count".desc) .select("login", "count")