<String、Array []>をフラットペアとして出力するにはどうすればよいですか?

ブーシャン

セットアップ:

私は顧客と彼らのお気に入りのトップ10テレビ番組に関するデータを持っています。これまでのところ、私はこのデータをで取得することができJavaRDD<Tuple2<String, Shows[]>>ます。印刷して、期待どおりかどうかを確認できます。

目的:

次に、このデータを次の形式でファイルに印刷する必要があります。

Customer_1 Fav_TV_Show_1
Customer_1 Fav_TV_Show_2
Customer_1 Fav_TV_Show_3
Customer_1 Fav_TV_Show_4
Customer_2 Fav_TV_Show_1
Customer_2 Fav_TV_Show_2
Customer_2 Fav_TV_Show_3
Customer_2 Fav_TV_Show_4
Customer_3 Fav_TV_Show_1
Customer_3 Fav_TV_Show_2
Customer_3 Fav_TV_Show_3
Customer_3 Fav_TV_Show_4

問題:

どうすればいいのかわかりません。これまでのところ、私はこれを試しました:

// Need a flat pair back
JavaPairRDD<String, Shows> resultPairs = result.mapToPair(
        new PairFunction<Tuple2<String,Shows[]>, String, Shows>() {
            public Tuple2<String, Shows> call(Tuple2<String, Shows[]> t) {

                // But this won't work as I have to return multiple <Customer - Show> pairs
                }
            });
}

どんな助けでも大歓迎です。

ale64bit

ええと、キーと値のペアの場合に操作しやすいのではJavaRDD<Tuple2<String, Shows[]>>なく、を取得したのは少し奇妙ですJavaPairRDD<String, Shows[]>それでも、結果を平坦化するために次のようにすることができます。

// convert your RDD into a PairRDD format
JavaPairRDD<String, Shows[]> pairs = result.mapToPair(new PairFunction<Tuple2<String,Shows[]>, String, Shows[]>() {
    public Tuple2<String, Shows[]> call(Tuple2<String, Shows[]> t) throws Exception {
        return t;
    }
});

// now flatMap the values in order to split them with their respective keys
JavaPairRDD<String, Shows> output = pairs.flatMapValues(
    new Function<Shows[], Iterable<Shows>>() {
        public Iterable<Shows> call(Shows[] shows) throws Exception {
            return Arrays.asList(shows);
        }
});

// do something else with them
output.foreach(new VoidFunction<Tuple2<String, Shows>>() {
    public void call(Tuple2<String, Shows> t) throws Exception {
        System.out.println(t._1() + " " + t._2());
    }
});

あるいは、あなたも得ることができるoutput使用して、RDDをflatMapToPair、一の工程で、手動の配列を組み合わせることShowsIterable次のように

JavaPairRDD<String, Shows> output = result.flatMapToPair(
    new PairFlatMapFunction<Tuple2<String, Shows[]>, String, Shows>() {
        public Iterable<Tuple2<String, Shows>> call(Tuple2<String, Shows[]> t) throws Exception {
            ArrayList<Tuple2<String, Shows>> ret = new ArrayList<>();
            for (Shows s : t._2())
                ret.add(new Tuple2<>(t._1(), s));
            return ret;
        }
    });

お役に立てば幸いです。乾杯!

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

map [string] interface {}をjsonとして出力するにはどうすればよいですか?

分類Dev

PHPのarray_combineとfor-loopを使用して、可変数のキーと値のペアを追加するにはどうすればよいですか?

分類Dev

string_viewパラメーターへの入力として特定の文字セットを保証するにはどうすればよいですか?

分類Dev

String.match()からの出力として、完全に一致しないグループのみを抽出するにはどうすればよいですか?

分類Dev

RSpecがmatch_array出力を省略しないようにするにはどうすればよいですか?

分類Dev

std :: arrayクラスのメンバーを静的にアサートしてc ++ 11でソートするにはどうすればよいですか?

分類Dev

JSXとReactstrap(Bootstrapなど)の行と列を使用してマトリックスをレイアウトするにはどうすればよいですか?JSXは私のArray.prototype.mapでうまく機能していません

分類Dev

string.Format()を使用して、中括弧で囲まれた16進数をフォーマットするにはどうすればよいですか?

分類Dev

JavaのコンストラクターでパラメーターとしてArrayList <String>を使用するにはどうすればよいですか?

分類Dev

%hashの値として使用される@arrayの$要素を出力するにはどうすればよいですか?

分類Dev

String.format()を使用してJavaでdoubleをフォーマットするにはどうすればよいですか?

分類Dev

Cでchar **によって作成されたstring(array)の配列を出力するにはどうすればよいですか?

分類Dev

System.Stringを大文字と小文字を区別しないように適切にラップするにはどうすればよいですか?

分類Dev

ジュリア:文字列をArrary {String}にカットするにはどうすればよいですか?

分類Dev

Sink <Locale>を作成してStream <String>の結果をフォーマットするにはどうすればよいですか?

分類Dev

Rustで個々の行のVec <String>をXMLとして解析するにはどうすればよいですか?

分類Dev

AndroidStudioのOnClickListenerとして内部でArrayAdapter <String>を使用するにはどうすればよいですか?

分類Dev

最初の文字列(string1)の開始アドレスを返して出力するにはどうすればよいですか?

分類Dev

C#の辞書<string、List <string >>をヘッダーとしてキーを使用してcsvに変換するにはどうすればよいですか?

分類Dev

Q.Promise <string>を文字列として使用するにはどうすればよいですか?

分類Dev

カスタムアイテム属性を使用して<string-array>を作成するにはどうすればよいですか?

分類Dev

Spark rdd Array [(String、Array [String])]を単一のRDDに分割するにはどうすればよいですか

分類Dev

onClickでarray.map、useState、useEffectをランダムに使用してReactでアイテムを表示するにはどうすればよいですか?

分類Dev

..inに対して「トリガーしない」新しいArrayメソッドを追加するにはどうすればよいですか?

分類Dev

Stringをトラバースして、Javaで必要に応じて処理するにはどうすればよいですか?

分類Dev

linqを使用してList <string>をDictionary <string、string>に変換するにはどうすればよいですか?

分類Dev

テキストファイル:string1とstring2の次のインスタンスの間のテキストを取得し、バッチ変数として設定するにはどうすればよいですか?

分類Dev

String.formatを使用して、先頭にスペースを入れて値を表示するにはどうすればよいですか?

分類Dev

VisualStudioでクラスをstd :: arrayやstd :: vectorのようにデバッグしやすいものにするにはどうすればよいですか?

Related 関連記事

  1. 1

    map [string] interface {}をjsonとして出力するにはどうすればよいですか?

  2. 2

    PHPのarray_combineとfor-loopを使用して、可変数のキーと値のペアを追加するにはどうすればよいですか?

  3. 3

    string_viewパラメーターへの入力として特定の文字セットを保証するにはどうすればよいですか?

  4. 4

    String.match()からの出力として、完全に一致しないグループのみを抽出するにはどうすればよいですか?

  5. 5

    RSpecがmatch_array出力を省略しないようにするにはどうすればよいですか?

  6. 6

    std :: arrayクラスのメンバーを静的にアサートしてc ++ 11でソートするにはどうすればよいですか?

  7. 7

    JSXとReactstrap(Bootstrapなど)の行と列を使用してマトリックスをレイアウトするにはどうすればよいですか?JSXは私のArray.prototype.mapでうまく機能していません

  8. 8

    string.Format()を使用して、中括弧で囲まれた16進数をフォーマットするにはどうすればよいですか?

  9. 9

    JavaのコンストラクターでパラメーターとしてArrayList <String>を使用するにはどうすればよいですか?

  10. 10

    %hashの値として使用される@arrayの$要素を出力するにはどうすればよいですか?

  11. 11

    String.format()を使用してJavaでdoubleをフォーマットするにはどうすればよいですか?

  12. 12

    Cでchar **によって作成されたstring(array)の配列を出力するにはどうすればよいですか?

  13. 13

    System.Stringを大文字と小文字を区別しないように適切にラップするにはどうすればよいですか?

  14. 14

    ジュリア:文字列をArrary {String}にカットするにはどうすればよいですか?

  15. 15

    Sink <Locale>を作成してStream <String>の結果をフォーマットするにはどうすればよいですか?

  16. 16

    Rustで個々の行のVec <String>をXMLとして解析するにはどうすればよいですか?

  17. 17

    AndroidStudioのOnClickListenerとして内部でArrayAdapter <String>を使用するにはどうすればよいですか?

  18. 18

    最初の文字列(string1)の開始アドレスを返して出力するにはどうすればよいですか?

  19. 19

    C#の辞書<string、List <string >>をヘッダーとしてキーを使用してcsvに変換するにはどうすればよいですか?

  20. 20

    Q.Promise <string>を文字列として使用するにはどうすればよいですか?

  21. 21

    カスタムアイテム属性を使用して<string-array>を作成するにはどうすればよいですか?

  22. 22

    Spark rdd Array [(String、Array [String])]を単一のRDDに分割するにはどうすればよいですか

  23. 23

    onClickでarray.map、useState、useEffectをランダムに使用してReactでアイテムを表示するにはどうすればよいですか?

  24. 24

    ..inに対して「トリガーしない」新しいArrayメソッドを追加するにはどうすればよいですか?

  25. 25

    Stringをトラバースして、Javaで必要に応じて処理するにはどうすればよいですか?

  26. 26

    linqを使用してList <string>をDictionary <string、string>に変換するにはどうすればよいですか?

  27. 27

    テキストファイル:string1とstring2の次のインスタンスの間のテキストを取得し、バッチ変数として設定するにはどうすればよいですか?

  28. 28

    String.formatを使用して、先頭にスペースを入れて値を表示するにはどうすればよいですか?

  29. 29

    VisualStudioでクラスをstd :: arrayやstd :: vectorのようにデバッグしやすいものにするにはどうすればよいですか?

ホットタグ

アーカイブ