PySpark の DataFrame で可視化する

PySparkで学ぶBig Data入門

Upendra Devisetty

Science Analyst, CyVerse

データ可視化とは?

  • データ可視化はデータをグラフやチャートで表す方法です

  • Python のオープンソース可視化ツール:

    • Matplotlib、Seaborn、Bokeh など
  • PySpark の DataFrame を描画する主な方法は3つ

    • pyspark_dist_explore ライブラリ

    • toPandas()

    • HandySpark ライブラリ

PySparkで学ぶBig Data入門

Pyspark_dist_explore による可視化

  • Pyspark_dist_explore は DataFrame の素早い可視化に有用です

  • 利用可能な関数は3つ: hist()、distplot()、pandas_histogram()

test_df = spark.read.csv("test.csv", header=True, inferSchema=True)
test_df_age = test_df.select('Age')
hist(test_df_age, bins=20, color="red")
PySparkで学ぶBig Data入門

Pandas を使った DataFrame のプロット

  • pandas の DataFrame からは簡単にプロットできます
test_df = spark.read.csv("test.csv", header=True, inferSchema=True)
test_df_sample_pandas = test_df.toPandas()
test_df_sample_pandas.hist('Age')
  • 注意: データ量が大きい場合、toPandas() は非推奨です
PySparkで学ぶBig Data入門

Pandas DataFrame と PySpark DataFrame の比較

  • pandas の DataFrame は単一サーバーのメモリ上、PySpark の処理は並列実行

  • pandas は操作ごとに即時評価、PySpark の DataFrame は遅延評価

  • pandas の DataFrame は可変、PySpark の DataFrame は不変

  • pandas API は PySpark DataFrame API より操作が豊富

PySparkで学ぶBig Data入門

HandySpark による可視化

  • HandySpark は PySpark の使い勝手を高めるパッケージです
    • データ取得が容易
    • 分散計算は維持
test_df = spark.read.csv('test.csv', header=True, inferSchema=True)
hdf = test_df.toHandy()
hdf.cols["Age"].hist()
PySparkで学ぶBig Data入門

DataFrame を可視化しよう

PySparkで学ぶBig Data入門

Preparing Video For Download...