Spark SQL

Wprowadzenie do Spark SQL w Pythonie

Mark Plutowski Phd

Data Scientist

Tworzenie tabeli SQL i wykonywanie zapytań

Kursor powłoki PySpark

Wprowadzenie do Spark SQL w Pythonie

Wczytywanie ramki danych z pliku

df = spark.read.csv(filename)
df = spark.read.csv(filename, header=True)
Wprowadzenie do Spark SQL w Pythonie

Tworzenie tabeli SQL i wykonywanie zapytań

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|
+--------+--------+-----+
Wprowadzenie do Spark SQL w Pythonie

Sprawdzanie schematu tabeli

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)
Wprowadzenie do Spark SQL w Pythonie

Ramka

Wprowadzenie do Spark SQL w Pythonie

Ramka danych

Wprowadzenie do Spark SQL w Pythonie

Dane tabelaryczne

+--------+-------------+-----+
|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|
+--------+-------------+-----+
Wprowadzenie do Spark SQL w Pythonie

dwie ramki danych

Wprowadzenie do Spark SQL w Pythonie

dwie ramki danych połączone

Wprowadzenie do Spark SQL w Pythonie

jedna ramka danych

Wprowadzenie do Spark SQL w Pythonie

podział ramki danych 1

Wprowadzenie do Spark SQL w Pythonie

podział ramki danych 2

Wprowadzenie do Spark SQL w Pythonie

podział ramki danych 3

Wprowadzenie do Spark SQL w Pythonie

podział ramki danych 4

Wprowadzenie do Spark SQL w Pythonie

podział ramki danych 5

Wprowadzenie do Spark SQL w Pythonie

podział ramki danych 6

Wprowadzenie do Spark SQL w Pythonie

podział ramki danych – rozproszony

Wprowadzenie do Spark SQL w Pythonie

SQL

Wprowadzenie do Spark SQL w Pythonie

Structured Query Language

Wprowadzenie do Spark SQL w Pythonie

zapytanie

Wprowadzenie do Spark SQL w Pythonie

dane rozproszone

Wprowadzenie do Spark SQL w Pythonie

dane rozproszone + zapytanie

Wprowadzenie do Spark SQL w Pythonie

Wczytywanie pliku tekstowego

Wczytuje plik CSV trainsched.txt do ramki danych df:

df = spark.read.csv("trainsched.txt", header=True)
Wprowadzenie do Spark SQL w Pythonie

Wczytywanie pliku tekstowego

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|
+--------+-------------+-----+
Wprowadzenie do Spark SQL w Pythonie

Powłoka PySpark

Wprowadzenie do Spark SQL w Pythonie

Kursor powłoki PySpark

Wprowadzenie do Spark SQL w Pythonie

Powłoka PySpark

Wprowadzenie do Spark SQL w Pythonie

Kursor powłoki PySpark

Wprowadzenie do Spark SQL w Pythonie

Powłoka PySpark

Wprowadzenie do Spark SQL w Pythonie

Wprowadzenie do Spark SQL w Pythonie

Powłoka PySpark

Wprowadzenie do Spark SQL w Pythonie

Kursor powłoki PySpark

Wprowadzenie do Spark SQL w Pythonie

Powłoka PySpark

Wprowadzenie do Spark SQL w Pythonie

Kursor powłoki PySpark

Wprowadzenie do Spark SQL w Pythonie

Powłoka PySpark

Wprowadzenie do Spark SQL w Pythonie

Kursor powłoki PySpark

Wprowadzenie do Spark SQL w Pythonie

Czas na ćwiczenia!

Wprowadzenie do Spark SQL w Pythonie

Preparing Video For Download...