1. ホーム
  2. scala

[解決済み] Apache SparkでDataframeのカラム値をListとして抽出する。

2022-11-25 16:50:26

質問

データフレームの文字列列をリストに変換したい。私がから見つけることができるもの Dataframe APIから得られるのはRDDなので、まずRDDに変換し直して、そこに toArray 関数をRDDに適用してみました。この場合、長さやSQLは問題なく動作します。しかし、RDDから得られた結果は、以下のようにすべての要素が角括弧で囲まれています。 [A00001] . カラムをリストに変換する適切な方法、または角括弧を削除する方法はないかと考えていました。

何かご提案がありましたら、よろしくお願いします。ありがとうございます!

どのように解決するのですか?

これは単一のリストを含むコレクションを返すはずです。

dataFrame.select("YOUR_COLUMN_NAME").rdd.map(r => r(0)).collect()

マッピングがなければ、データベースからのすべてのカラムを含むRowオブジェクトを取得するだけです。

これはおそらくAnyタイプのリストを取得することになることを覚えておいてください。結果の型を指定したい場合は、.asInstanceOf[YOUR_TYPE] を使って r => r(0).asInstanceOf[YOUR_TYPE] マッピング

追伸: 自動変換により .rdd の部分をスキップできます。