2016-10-11 10 views
8

Spark 2.0を使用すると、行のデータフレームをケースクラスのデータフレームに変換することができます。私がそうしようとすると、Imはspark.implicits._を輸入する旨のメッセージで挨拶しました。私が持っている問題は、Intellijが有効なインポートステートメントであると認識していないことです。移動してメッセージが更新されていないか、またはビルド設定に正しいパッケージがないspark.implicitsと呼ばれる全くパッケージはありません私のbuild.sbtSpark 2.0 spark implicitsがありません

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" 
) 

答えて

26

です。

sparkここではSparkSessionを指します。あなたのコードのどこかで、あなた自身のSparkSessionを定義した場合、

import spark.implicits._ 

それに応じてそれを調整します:あなたは、セッションがすでにsparkのように定義されてREPLの内側にある場合ので、あなただけ入力でき

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._ 
3

SparkはSparkSessionの識別子をsparkとして使用しました。これが混乱の原因です。あなたがimplicitsをインポートする正しい方法は次のようになり、何かのように、

val ss = SparkSession 
    .builder() 
    .appName("test") 
    .master("local[2]") 
    .getOrCreate() 

でそれを作成した場合、

import ss.implicits._ 

は、このことができますなら、私に教えてください。乾杯。

+0

RDDを 'import spark.implicits._'なしでDadaFrameに変換するにはどうしたらいいですか?私は '.toDF'メソッドのようなものが必要ですが、' spark.implicits'がなければ –

+1

Rdd [行]があれば、spark.createDataFrame(rdd)を実行できます。 –

関連する問題