2016-09-28 9 views
0

データフレームをRDDに変換する方法[String、String]?データフレームをRDDに変換する方法[String、String]?

私は最初の列がキーになると、残りの列で作られたJSON文字列が値になりRDD [文字列、文字列]に変換するどのようにデータフレーム

df : [id : String, coutry :String, title: String] 

がありますか?

key : id 
value : {coutry: "US", title : "MK"} 

答えて

1

変換を行うことができ、RDD [文字列]を返すことがあります。 RDDは1つだけtype parameterを取るので、あなたが望むのはRDD[(String, String)]です。

df.rdd 
    .map(row => { 
    val id = row.getString(0) 
    val country = row.getString(1) 
    val title = row.getString(2) 

    val jsonString = s"{country: $country, title: $title}" 

    (id, jsonString) 
    }) 
+0

が偶数行に動作しますが、 'dataframe'は、実際のデータ保持部として機能根底' RDD [行]を '有する地図 Newbie

+0

を有しています。あなたの 'dataframe'があなたが提供したものと似ていれば、基礎となる' rdd'のすべての 'Row'はこれらの3つのフィールドを持ちます。そして、あなたの 'dataframe'が異なった構造を持っているならば、それに応じて調整できるはずです。 –

0

DataFrame.toJSONが、この方法に基づいて、あなたはあなたがRDD[String, String]を持つことができない自分

関連する問題