こんにちは、GMOアドマーケティングのS.Rです。
ColabはGoogleより提供されている人気の無料データ分析クラウドサービスです。Colabを使ってtensorflow,Kerasなどよく使われている機械学習のツールを利用できます。機械学習エンジニアにとってとても便利なツールです。
今回は、Colabで大規模データを処理する事ができるpysparkというツールの環境を構築する方法を皆さんへ紹介します。
1. 環境構築
1) pysparkをインストールする
1 |
!pip install pyspark |
2. pysparkを利用する
今回はpysparkを使って簡単に日本、アメリカ、フランス、ロシアの人口数のデータをDataframeにして操作する例を皆さんへ紹介します。
1) pySpark SparkSessionを初期化する
1 2 3 4 5 |
from pyspark.sql import SparkSession SPARK = SparkSession.builder \ .master("local[1]") \ .appName("IAB") \ .getOrCreate() |
2) DataFrameのデータを作成
1 2 3 4 |
population_data = [{"國名": '日本', '人口数(百万人)': 126.3}, {"國名": 'アメリカ', '人口数(百万人)': 328.2}, {"國名": 'フランス', '人口数(百万人)': 67.06}, {"國名": 'ロシア', '人口数(百万人)': 144.4}] |
3) pysparkのDataFrameを作成
1 2 |
population_df = SPARK.createDataFrame(population_data) population_df.show() |
実行した結果は下記です。
6) 国毎の平均値と総数を算出
1 2 3 4 5 6 7 |
from pyspark.sql.functions import col population_avg_df = population_df.agg({"人口数(百万人)": "avg"}) population_avg_df = population_avg_df.select(col("avg(人口数(百万人))").alias("人口数の平均(百万人)")) population_avg_df.show() population_sum_df = population_df.agg({"人口数(百万人)": "sum"}) population_sum_df = population_sum_df.select(col("sum(人口数(百万人))").alias("人口数の総数(百万人)")) population_sum_df.show() |
まとめ
今回はColabでpysparkを利用する方法を皆さんへ紹介してみました。いかがでしたでしょうか。
pysparkは日々のデータ分析で良く使われているツールです。もし今回のブログが皆さんの日々のデータ分析の仕事にお役に立てば幸いです。