Spark データフレーム内の構造体のフラット化
一般的な Spark データフレームは構造化されたデータの配置で構成されており、場合によっては複雑な構造のフラット化が必要になります。さらなる分析。一般的なシナリオの 1 つは、データフレーム内のネストされた構造体のフラット化です。
最近、あるユーザーが同様の課題に直面し、データフレーム内の「data」という名前のネストされた構造体列をフラット化しようとしました。 「この構造体を平坦化する方法はありますか?」
Spark コミュニティが簡潔な解決策を提案しました。 Spark で配列を平坦化するために一般的に使用される変換である Explode は、構造体には直接適用されません。ただし、Spark 1.6 では、簡単な解決策が導入されました。
df.select(df.col("data.*"))
このアプローチは、「データ」構造体を効果的に拡張し、そのサブフィールドをデータフレーム内の個別の列として公開します。あるいは、特定のサブフィールドを明示的に選択することもできます。
df.select(df.col("data.id"), df.col("data.keyNote"), df.col("data.details"))
これらのテクニックを活用することで、ユーザーはネストされた構造体を簡単にフラット化し、Spark データフレームでのさらなるデータ探索と操作の可能性を解放できます。
以上がSpark データフレームでネストされた構造体をフラット化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。