Częste sekwencje słów

Wprowadzenie do Spark SQL w Pythonie

Mark Plutowski

Data Scientist

Trenowanie

Wprowadzenie do Spark SQL w Pythonie

Przewidywanie

Wprowadzenie do Spark SQL w Pythonie

Przewidywanie ostatniego słowa

Wprowadzenie do Spark SQL w Pythonie

Sekwencja

Wprowadzenie do Spark SQL w Pythonie

Ostatni element sekwencji

Wprowadzenie do Spark SQL w Pythonie

Szybki brązowy lis

Wprowadzenie do Spark SQL w Pythonie

Nawias zdania

Wprowadzenie do Spark SQL w Pythonie

Inny typ agregacji

Wprowadzenie do Spark SQL w Pythonie

Filmy

Wprowadzenie do Spark SQL w Pythonie

Dane kategoryczne

Wprowadzenie do Spark SQL w Pythonie

Kategoryczne vs porządkowe

  • Kategoryczne: he, hi, she, that, they
  • Porządkowe: 1, 2, 3, 4, 5
Wprowadzenie do Spark SQL w Pythonie

Analiza sekwencji

Wprowadzenie do Spark SQL w Pythonie

Słowo poprzedzające i następujące

Wprowadzenie do Spark SQL w Pythonie

3-krotki

query3 = """
   SELECT 
   id,
   word AS w1,
   LEAD(word,1) OVER(PARTITION BY part ORDER BY id ) AS w2,
   LEAD(word,2) OVER(PARTITION BY part ORDER BY id ) AS w3
   FROM df
""" 
Wprowadzenie do Spark SQL w Pythonie

Funkcja okna SQL jako podzapytanie

query3agg = """
SELECT w1, w2, w3, COUNT(*) as count FROM (
   SELECT 
   word AS w1,
   LEAD(word,1) OVER(PARTITION BY part ORDER BY id ) AS w2,
   LEAD(word,2) OVER(PARTITION BY part ORDER BY id ) AS w3
   FROM df
)
GROUP BY w1, w2, w3 
ORDER BY count DESC
""" 

spark.sql(query3agg).show()
Wprowadzenie do Spark SQL w Pythonie

Funkcja okna SQL jako podzapytanie – wynik

+-----+-----+-----+-----+
|   w1|   w2|   w3|count|
+-----+-----+-----+-----+
|  one|   of|  the|   49|
|    i|think| that|   46|
|   it|   is|    a|   46|
|   it|  was|    a|   45|
| that|   it|  was|   38|
|  out|   of|  the|   35|
|.....|.....|.....|.....|
Wprowadzenie do Spark SQL w Pythonie

Najczęstsze 3-krotki

+-----+-----+-----+-----+
|   w1|   w2|   w3|count|
+-----+-----+-----+-----+
|  one|   of|  the|   49|
|    i|think| that|   46|
|   it|   is|    a|   46|
|   it|  was|    a|   45|
| that|   it|  was|   38|
|  out|   of|  the|   35|
| that|    i| have|   35|
|there|  was|    a|   34|
|    i|   do|  not|   34|
| that|   it|   is|   33|
| that|   he|  was|   30|
| that|   he|  had|   30|
| that|    i|  was|   28|
+-----+-----+-----+-----+
Wprowadzenie do Spark SQL w Pythonie

Inny typ agregacji

query3agg = """
SELECT w1, w2, w3, length(w1)+length(w2)+length(w3) as length FROM (
   SELECT 
   word AS w1,
   LEAD(word,1) OVER(PARTITION BY part ORDER BY id ) AS w2,
   LEAD(word,2) OVER(PARTITION BY part ORDER BY id ) AS w3
   FROM df
   WHERE part <> 0 and part <> 13
)
GROUP BY w1, w2, w3 
ORDER BY length DESC
""" 

spark.sql(query3agg).show(truncate=False)
Wprowadzenie do Spark SQL w Pythonie

Inny typ agregacji

+-------------------+-------------------+---------------+------+
|                 w1|                 w2|             w3|length|
+-------------------+-------------------+---------------+------+
|comfortable-looking|           building|    two-storied|    38|
|         widespread|comfortable-looking|       building|    37|
|      extraordinary|      circumstances|      connected|    35|
|      simple-minded|      nonconformist|      clergyman|    35|
|       particularly|          malignant|  boot-slitting|    34|
|       unsystematic|        sensational|     literature|    33|
|       oppressively|        respectable|     frock-coat|    33|
|         relentless|        keen-witted|   ready-handed|    33|
|   travelling-cloak|                and|  close-fitting|    32|
|        ruddy-faced|      white-aproned|       landlord|    32|
|  fellow-countryman|            colonel|       lysander|    32|
+-------------------+-------------------+---------------+------+
Wprowadzenie do Spark SQL w Pythonie

Czas na ćwiczenia!

Wprowadzenie do Spark SQL w Pythonie

Preparing Video For Download...