0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Google Workspace 標準機能Advent Calendar 2024

Day 15

Google Colab 上で Spark を利用する方法

Last updated at Posted at 2024-12-15

概要

Google Colab 上で Spark を利用したい場合には、デフォルトでインストールされているため、環境構築を実施しなくても利用できるようです。pyspark のインストールのみで Spark を利用できるようになるという記事もありますが、pyspark は事前にインストール済みでした。 PySpark の基本的な動作を Google Colab 上で実行した内容を共有します。

image.png

検証コードと実行結果

1. Spark のバージョン確認

!pyspark --version
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 3.5.3
      /_/
                        
Using Scala version 2.12.18, OpenJDK 64-Bit Server VM, 11.0.25
Branch HEAD
Compiled by user haejoon.lee on 2024-09-09T05:20:05Z
Revision 32232e9ed33bb16b93ad58cfde8b82e0f07c0970
Url https://github.com/apache/spark
Type --help for more information.

image.png

2. SparkSession の作成

from pyspark.sql import SparkSession

spark = SparkSession.builder \
    .master("local[1]") \
    .appName("spark_on_colab") \
    .getOrCreate()

image.png

3. リストの変数から Spark Dataframe 作成

from pyspark.sql import SparkSession

# SparkSessionの作成
spark = SparkSession.builder.appName("SampleDataFrame").getOrCreate()

# サンプルデータ
data = [
    ("Taro", 25, "Tokyo"),
    ("Hanako", 30, "Osaka"),
    ("Jiro", 28, "Nagoya")
]

# スキーマ(カラム名の指定)
columns = ["Name", "Age", "City"]

# データフレームの作成
df = spark.createDataFrame(data, columns)

# データフレームの表示
df.show()

image.png

4. Spark Dataframe の結果を CSV 形式で書き込み

下記のコードにより CSV 形式での書き込みを実施します。

df.write.mode("overwrite").format("csv").option("header", True).save("/csv_output")

image.png

指定したディレクトリにファイルが書きこまれたことを確認します。

import os

files = os.listdir('/csv_output')
for file in files:
    print(file)

image.png

5. 書き込んだ CSV から Spark Dataframe を作成

# データフレームの作成
df = spark.read.format("csv").option("header", True).load("/csv_output")

# データフレームの表示
df.show()

image.png

6. parquet 形式で書き込み

下記のコードにより parquet 形式での書き込みを実施します。

df.write.mode("overwrite").format("parquet").save("/parquet_output")

image.png

指定したディレクトリにファイルが書きこまれたことを確認します。

import os

files = os.listdir('/parquet_output')
for file in files:
    print(file)

image.png

7. SparkSession の停止

spark.stop()

image.png

まとめ

この記事では、Google Colab 上で PySpark を利用する手順と基本的な操作について解説しました。Google Colab では PySpark がデフォルトでインストールされているため、環境構築の手間なくすぐに Spark を試すことができます。

検証内容では、以下の操作を確認しました:

  1. Spark のバージョン確認
  2. SparkSession の作成
  3. リストから Spark DataFrame 作成
  4. DataFrame を CSV 形式で書き込み
  5. CSV ファイルから DataFrame を再読み込み
  6. Parquet 形式での書き込み
  7. SparkSession の停止

Google Colab 上で PySpark を利用すれば、データ分析や処理の流れをスムーズに実行できることが確認できました。特に、ファイルの読み書き操作やフォーマット変換(CSV ↔ Parquet)も手軽に行えるため、大規模データ処理の学習や実験環境として最適です。

今後は、さらに複雑なクエリや機械学習ライブラリとの統合など、PySpark の可能性を広げる取り組みを試していくと良いでしょう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?