0
に変換します。私はAvroスキーマから派生したRDDで変換を行っています。私のアブロクラスは、このようなものになります。値リストの各値のキー/ [値]ペアをキーとしたSparkのRDDを
public class myAvroSchema {
public String myKey;
public Collection<Value> myValues;
public Object someOtherObject;
}
を次のように私は、データセットに行ってる現在の変換は次のとおりです。
JavaRDD<myAvroSchema> myResult = AvroRDD.create(mySparkContext);
myResult.filter(aResult -> !aResult.getmyValues().isEmpty())
.mapToPair(aResult -> Tuple.of(aResult.getKey(), aResult.getMyValues());
これは私にJavaRDD<String, Collection<Value>>
を与えるが、私が本当にしたいことにありますJavaRDD<String, Value>
に戻る
<Key>,Collection<Value>
ペアを取得して値を平坦化する方法がわからないので、同じキーを持つ複数の行が存在するようになりましたが、各行には異なる値が設定されています。例えば
、私の結果は、このようなものに見えると言う:私はそれがこのように見えるように変換したい
<KeyA, [Value1, Value2]>
<KeyB, [Value3, Value4]>
を:
<KeyA, Value1>
<KeyA, Value2>
<KeyB, Value3>
<KeyB, Value4>