1

2 つの SchemaRDD があり、それらに対して結合操作を実行したい (SQL 結合と同じ)。私を助けてください。

4

2 に答える 2

2

スパークのドキュメントから

join(otherDataset, [numTasks]) タイプ (K, V) および (K, W) のデータセットで呼び出されると、各キーの要素のすべてのペアを含む (K, (V, W)) ペアのデータセットを返します。外部結合は、leftOuterJoin および rightOuterJoin によってもサポートされます。

マップ変換を使用して schemaRDD を実行し、次の(K,V)形式に変換する必要があります。Kは結合するキーでありV、行オブジェクト全体にすることができます。例えば

val a = ...
val b = ...
val bWithKey = b.map(v => (v.key, v))
val joined = a.map(v => (v.key, v)).join(bWithKey)
于 2014-08-22T18:37:48.753 に答える