Databricks Runtime 17.0(リリースノート)でPySparkにネイティブプロットが導入されたことを大変嬉しく思います。これはデータ可視化にとって大きな進歩です。データを視覚化するためにツール間を行き来する必要はもうありません。今では、PySparkのデータフレームから直接美しく直感的なプロットを作成できます。それは速く、シームレスで、直接組み込まれています。この待望の機能により、データの探索がこれまで以上に簡単でパワフルになりました。
PySparkでビッグデータを扱うことは常に強力で、特に大規模なデータセットの変換や分析においてはその力を発揮します。PySparkのデータフレームはスケールとパフォーマンスのために構築されていますが、ユーザーは以前、プロットを生成するためにそれらをApache Spark™上のPandas APIのデータフレームに変換する必要がありました。しかし、この追加のステップは可視化ワークフローを必要以上に複雑にしていました。PySparkとpandasスタイルのDataFramesの構造の違いは、しばしば摩擦を引き起こし、データを視覚的に探索するプロセスを遅らせました。
以下は、PySparkプロットを使用して、さまざまな製品カテゴリーでの売上、利益、利益率を分析する例です。
まず、以下に示すように、異なる製品カテゴリーの売上と利益データを含むデータフレームから始めます:
私たちの目標は、売上と利益の関係を視覚化し、さらに利益率を追加の視覚次元として組み込むことで、分析をより意味のあるものにすることです。以下はプロットを作成するためのコードです:
“fig”は“plotly.graph_objs._figure.Figure”型であることに注意してください。既存のPlotly機能を使用してレイアウトを更新することで、その見た目を向上させることができます。調整後の図は次のようになります:
図から、さまざまなカテゴリーにおける売上と利益の間に明確な関係が見て取れます。例えば、エレクトロニクスは高い売上と利益を示していますが、利益率は比較的適度で、収益生成は強力ですが、効率の向上の余地があることを示しています。
ユーザーは、PySparkデータフレームのプロットプロパティを呼び出し、サブメソッドとしてまたは“kind”パラメータを設定することで、希望するプロットタイプを指定することでPySparkプロットと対話します。例えば:
あるいは同等に:
このデザインは、Apache Spark上のPandas APIとネイティブのpandasのインターフェースに合わせており、pandasのプロットに既に慣れているユーザーにとって一貫性のある直感的な体験を提供します。
PySparkプロットは、ライン、バー(水平を含む)、エリア、スキャッター、パイ、ボックス、ヒストグラム、密度/KDEプロットなど、一般的なチャートタイプを多数サポートしています。これにより、ユーザーはPySparkのデータフレームから直接トレンド、分布、比較、関係を視覚化することができます。
この機能は、豊富でインタラクティブなプロット機能を提供するデフォルトの視覚化バックエンドとしてPlotly(バージョン4.8以降)によって動作し、ほとんどのプロットのデータ処理にはネイティブのpandasが内部的に使用されています。
プロットタイプにより、PySparkプロッティングのデータ処理は3つの戦略のうちの1つを通じて処理されます:
このアプローチは、各プロットタイプのApache Sparkプロット戦略に対するPandas APIを尊重し、さらなるパフォーマンスの改善を提供します:
PySpark Native Plottingは、PySparkと直感的なデータ可視化の間のギャップを埋めます。この機能により、PySparkユーザーはPySparkのデータフレームから直接高品質のプロットを作成することができ、データ分析をこれまで以上に迅速かつアクセスしやすくします。ぜひDatabricks Runtime 17.0でこの機能を試して、データ可視化体験を向上させてください!
もっと探求してみませんか?PySpark APIドキュメンテーションをチェックして、詳細なガイドと例を確認してください。