Spark SQL

Pythonで学ぶ Spark SQL 入門

Mark Plutowski Phd

Data Scientist

SQL テーブルを作成してクエリ

Pyspark シェルのカーソル

Pythonで学ぶ Spark SQL 入門

ファイルからデータフレームを読み込む

df = spark.read.csv(filename)
df = spark.read.csv(filename, header=True)
Pythonで学ぶ Spark SQL 入門

SQL テーブルを作成してクエリ

df.createOrReplaceTempView("schedule")

spark.sql("SELECT * FROM schedule WHERE station = 'San Jose'") .show()
+--------+--------+-----+
|train_id| station| time|
+--------+--------+-----+
|     324|San Jose|9:05a|
|     217|San Jose|6:59a|
+--------+--------+-----+
Pythonで学ぶ Spark SQL 入門

テーブルスキーマの確認

result = spark.sql("SHOW COLUMNS FROM tablename")
result = spark.sql("SELECT * FROM tablename LIMIT 0")
result = spark.sql("DESCRIBE tablename")
result.show()
print(result.columns)
Pythonで学ぶ Spark SQL 入門

フレーム

Pythonで学ぶ Spark SQL 入門

データフレーム

Pythonで学ぶ Spark SQL 入門

表形式データ

+--------+-------------+-----+
|train_id|      station| time|
+--------+-------------+-----+
|     324|San Francisco|7:59a| 
|     324|  22nd Street|8:03a|
|     324|     Millbrae|8:16a|
|     324|    Hillsdale|8:24a|
|     324| Redwood City|8:31a|
|     324|    Palo Alto|8:37a|
|     324|     San Jose|9:05a|
|     217|       Gilroy|6:06a|
|     217|   San Martin|6:15a|
|     217|  Morgan Hill|6:21a|
|     217| Blossom Hill|6:36a|
|     217|      Capitol|6:42a|
|     217|       Tamien|6:50a|
|     217|     San Jose|6:59a|
+--------+-------------+-----+
Pythonで学ぶ Spark SQL 入門

2 つのデータフレーム

Pythonで学ぶ Spark SQL 入門

2 つのデータフレームの連結

Pythonで学ぶ Spark SQL 入門

1 つのデータフレーム

Pythonで学ぶ Spark SQL 入門

データフレームの分割 1

Pythonで学ぶ Spark SQL 入門

データフレームの分割 2

Pythonで学ぶ Spark SQL 入門

データフレームの分割 3

Pythonで学ぶ Spark SQL 入門

データフレームの分割 4

Pythonで学ぶ Spark SQL 入門

データフレームの分割 5

Pythonで学ぶ Spark SQL 入門

分散データフレームの分割

Pythonで学ぶ Spark SQL 入門

分散された 2 つのデータフレーム

Pythonで学ぶ Spark SQL 入門

SQL

Pythonで学ぶ Spark SQL 入門

構造化問い合わせ言語

Pythonで学ぶ Spark SQL 入門

クエリの実行

Pythonで学ぶ Spark SQL 入門

分散データ

Pythonで学ぶ Spark SQL 入門

分散データ + クエリ

Pythonで学ぶ Spark SQL 入門

区切りテキストの読み込み

カンマ区切りファイル trainsched.txt をデータフレーム df に読み込みます:

df = spark.read.csv("trainsched.txt", header=True)
Pythonで学ぶ Spark SQL 入門

区切りテキストの読み込み

df = spark.read.csv("trainsched.txt", header=True)
df.show()
+--------+-------------+-----+
|train_id|      station| time|
+--------+-------------+-----+
|     324|San Francisco|7:59a|
|     324|  22nd Street|8:03a|
|     324|     Millbrae|8:16a|
|     324|    Hillsdale|8:24a|
|     324| Redwood City|8:31a|
|     ...|          ...|  ...|
|     217| Blossom Hill|6:36a|
|     217|      Capitol|6:42a|
|     217|       Tamien|6:50a|
|     217|     San Jose|6:59a|
+--------+-------------+-----+
Pythonで学ぶ Spark SQL 入門

Pyspark シェル

Pythonで学ぶ Spark SQL 入門

Pyspark シェルのカーソル

Pythonで学ぶ Spark SQL 入門

Pyspark シェル

Pythonで学ぶ Spark SQL 入門

Pyspark シェルのカーソル

Pythonで学ぶ Spark SQL 入門

Pyspark シェル

Pythonで学ぶ Spark SQL 入門

Pythonで学ぶ Spark SQL 入門

Pyspark シェル

Pythonで学ぶ Spark SQL 入門

Pyspark シェルのカーソル

Pythonで学ぶ Spark SQL 入門

Pyspark シェル

Pythonで学ぶ Spark SQL 入門

Pyspark シェルのカーソル

Pythonで学ぶ Spark SQL 入門

Pyspark シェル

Pythonで学ぶ Spark SQL 入門

Pyspark シェルのカーソル

Pythonで学ぶ Spark SQL 入門

¡Vamos a practicar!

Pythonで学ぶ Spark SQL 入門

Preparing Video For Download...