0
RDD[String]
から特定フィールドを持つマップのList
に特定のフィールドを取得するにはどうすればいいですか?RDD [String]のフィールドをブロードキャストにマップする方法は?
itemId : 1122334 self.preferred : "National Parks"
itemId : 3444444 self.preferred : "State Parks"
...
:私は値(
{itemid , self.preferred}
)としてのみキーとして
itemId
と
self.preferred
を持っているマップのリストを取得するにはどうすればよい
{
count: 1,
itemId: "1122334",
country: {
code: {
preferred: "USA"
},
name: {
preferred: "America"
}
},
states: "50",
self: {
otherInfo: [
],
preferred: "National Parks"
},
Rating: 4
}
:org.apache.spark.rdd.RDD[String] = MapPartitionsRDD[19]
各エントリの形式でJSONです:私はRDD[String]
を持っています
すべてのノードで結果のマップをブロードキャストするのは効率的ですか?私は、このマップをさらに計算によって共有/参照する必要があります。
を、それはマップのサイズに依存効率的ですかどうか。本当にそれをリスト(またはHashMap)にしたいのであれば、RDDがあまりにも大きすぎると動作しないドライバに '.collect()' RDDを渡す必要があります運転手の記憶その場合、マッピングを保持するために 'RDD [(String、String)]'を使用し、 '.join()'を使ってアイテムIDを優先値に変換する必要があります。 –