スパークの新機能。
type の spark DataFrame df の「wordList」列で何らかの変換を行いたいと思いますorg.apache.spark.sql.DataFrame = [id: string, wordList: array<string>]
。
私はdataBricksを使用しています。df は次のようになります。
+--------------------+--------------------+
| id| wordList|
+--------------------+--------------------+
|08b0a9b6-3b9a-47a...| [a]|
|23c2ef79-8dce-4ad...|[ag, adfg, asdfgg...|
|26a7682f-2ce6-4eb...|[ghe, gener, ghee...|
|2ab530b5-04bc-463...|[bap, pemm, pava,...|
+--------------------+--------------------+
より具体的には、リストを取得して短いリストを返す関数 ShrinkList(ol: List[String]): List[String] を定義し、それを wordList 列に適用したいと考えています。問題は、行をリストに変換するにはどうすればよいですか?
df.select("wordList").map(t => shrinkList(t(1)))
エラーを与える:type mismatch;
found : Any
required: List[String]
また、ここの「t(1)」についてはよくわかりません。列の順序が将来変更される場合に備えて、インデックスの代わりに列名を使用したいと思います。しかし、私は t$"wordList" または t.wordList または t("wordList") を機能させることができないようです。では、t(1) を使用する代わりに、どのセレクターを使用して「wordList」列を選択できますか?