Problem : Jak zainteresować słuchaczy czymś co z wierzchniej perspektywy przypomina zwykłą tabele SQL ale jest w sumie czymś innym i stanowi bazę do zgłębiania DataScience na Sparku?
Plan na warsztat jest gotowy i można się zapisywać----> MIGAJACE BOMBKI STRONA MEETUPA MIGAJACE BOMBKI
Zaś materiały są tutaj ---> https://pawelwlodarski.gitbooks.io/workshops/content/spark_dataframes.html
By było ciekawie można..
Nawiązać do rzeczy już poznanych. Ten motyw pojawia się w książce "Power of habit". Podobno przebój OutKast "Hey Ya" wcale nie był przebojem ale wytwornie, które mogą wywierać nacisk na radiostacje ten nacisk wymogły i HEYYA było puszczane pomiędzy przebojami PRZEBOJ<-->HEYYA<-->PRZEBOJ i ludzie się przyzwyczajali.
Dlatego tez warsztat zaczniemy od nieśmiertelnego przykładu zliczania słów z pliku LICENSE. To akurat z pełną powagą powinno ładnie pokazać porównanie pomiędzy RDD i tym co oferuje Dataframe. Ćwiczenia będziemy robić krok po kroku z dokładnym badaniem web UI.
Można dać jakieś ciekawe dane
-
polityka- zły pomysł bo ludzie się pozabijają - Coś z wóda bo to zawsze jest śmieszne - ale może lepiej nie bo to niezdrowe
- Czołgi,pistolety itd - no tez dzisiaj nie da rady
- To może jednak wóda? Ale nie mogę znaleźć CSV z danymi o wódzie na necie także nie wóda :(
- No to będzie piłka nożna!
Będzie wczytywanie danych bezpośrednio z CSV, wykrywanie schemy oraz datascience przy obliczaniu statystyk piłkarskich. Czyli na przykład pokażemy jak łatwo znależć najbardziej i najmniej skuteczną drużynę piłkarską + możemy znaleźć co tylko dusza zapragnie.
Można pokazać Sparka w kontekście całego ekosystemu BigData
W tym celu trzeba sobie zainstalować quickstart z cloudery. Powinno to być dosyć łatwe i od razu rozwiązuje problem z tym, ze Spark 1.5 nie działa na windowsie. W trakcie ćwiczeń zaczytamy dane z Hive a Hive zrobił Facebook a Facebook używa realnie Haskella i OCamla co na razie nic nie wnosi ale jest ciekawe
Także to może być dla wielu pierwsze spotkanie z szerszym ekosystemem hadoopa.
Można trochę pokazać języka R
I pokażemy bo R jest od DataScience. Bardzo ciekawy język, z którego pożyczono Dataframes. Przykłady do samodzielnego wykonania możesz znaleźć tutaj --> http://pawelwlodarski.blogspot.com/2015/09/dataframes.html
Można nawiązać do FP
Bo FP jest zawsze ciekawe. Mamy coś takiego :
scala> val fun:Int=>Int = x=>x+1 fun: Int => Int = <function1> scala> :t udf(fun).apply _ Seq[org.apache.spark.sql.Column] => org.apache.spark.sql.Column
No i teraz możemy zobaczyć, że udf to funkcja, która zamienia (A=>B) => UserDefinedFunction
UseDefinedFunction z powodów praktycznych ma varargsa w apply i poprzez wywołanie (chyba ETA expansion)
UserDefinedFunction.apply _ dochodzimy do
(A=>B) => Seq[Column] => Column
Teraz siłą wyobraźni można napisać coś takiego
scala> val lift :(Int=>Int) => (Column=>Column) = f=> a => udf(f).apply(a) lift: (Int => Int) => (org.apache.spark.sql.Column => org.apache.spark.sql.Column) = <function1> scala> :t lift (Int => Int) => (org.apache.spark.sql.Column => org.apache.spark.sql.Column)
(Int => Int) => (Column => Column) to taki naciągany Functor ale zawsze coś zabawnego z Teorii Kategorii. Także zapraszam. --> http://www.meetup.com/Java-User-Group-Lodz/events/225016091/
Brak komentarzy:
Prześlij komentarz