2016-05-29 5 views

答えて

14

これは、余分なステップを通過する回答です。DataFrameです。私たちは、DataFrameを作成するためにSQLContextを使用し、目的のオブジェクト型を使用してDataSetを作成 - LabeledPointこの場合には:

val sqlContext = new SQLContext(sc) 
val pointsTrainDf = sqlContext.createDataFrame(training) 
val pointsTrainDs = pointsTrainDf.as[LabeledPoint] 

更新エヴァーSparkSessionのことを聞きましたか? (これまで私はいなかった..)

明らかに、SparkSessionは、であり、Spark 2.0.0の優先ウェイ(TM)であり、今後の進歩です。ここでは新しい(スパーク)世界秩序のための更新されたコードは次のとおりです。

我々が達成した(単純な1 zero323 @そのクレジットの)以下のアプローチの両方に

お知らせに近づく2.0.0+スパークSQLContextアプローチと比較して重要な節約:最初にDataFrameを作成する必要はありません。 How to store custom objects in Dataset?によって:@ zero323

val spark: org.apache.spark.sql.SparkSession = ??? 
import spark.implicits._ 

val trainDs = training.toDS() 

従来のスパーク1.Xおよびそれ以前のアプローチ

val sqlContext = new SQLContext(sc) // Note this is *deprecated* in 2.0.0 
import sqlContext.implicits._ 
val training = splits(0).cache() 
val test = splits(1) 
val trainDs = training**.toDS()** 

も参照してくださいにスパーク2.0.0+クレジットのための

val sparkSession = SparkSession.builder().getOrCreate() 
val pointsTrainDf = sparkSession.createDataset(training) 
val model = new LogisticRegression() 
    .train(pointsTrainDs.as[LabeledPoint]) 

第二の方法尊敬されている@ zero323。

+0

「training.toDS」はどうですか? – zero323

+0

@ zero323ああ、私は 'sqlContext._'をインポートする必要があることがわかります。答えを更新してください。 – javadba

+0

@ zero323あなたは十分な情報を追加しました - あなた自身の答えを自由に追加してください – javadba

関連する問題