Skip to content

Instantly share code, notes, and snippets.

@jaceklaskowski
Last active October 15, 2015 06:50
Show Gist options
  • Save jaceklaskowski/c57e2f1cb77f9725671f to your computer and use it in GitHub Desktop.
Save jaceklaskowski/c57e2f1cb77f9725671f to your computer and use it in GitHub Desktop.
What people asked to cover at Apache Spark meetups

Warsaw Scala Enthusiasts meetup about Apache Spark themed Let's Scala few Apache Spark apps together! and the follow-up Let's Scala few Apache Spark apps together - part 2!.

Many, many people answered the question:

EN: What and how would you like to learn at the meetup (about Apache Spark)?

The answers are as follows (and are going to be the foundation for the agenda):

  1. Set up a cluster using many laptops and see how much it could handle.
  2. MLlib with a simple classification like logistic regression.
  3. How to develop Spark/Scala/Play Framework application - environment, configuration, networking
  4. Uruchamianie przekształceń na różnych datasetach
  5. podłączanie się do różnych źródeł danych
  6. może jakieś testy wydajnościowe w klastrze, i.e. demo, że można przyspieszyć obliczenia
  7. Data transformations
  8. Getting started using Spark Core and SQL, e.g. import JSON, CSV, JDBC files and combining them all. GraphX and MLlib. How to use Spark with play deploy.
  • Zadania dla początkujących z spark core + spark sql, np. import json, csv, jdbc + składanie tego w jedną całość i wyciąganie danych GraphX, MLlib jak łączyć sparka z innymi aplikacjami np.z playem deploy
  1. Basics - no earlier experience with Spark and would like to learn a little
  • Podstawy? :) (Szczerze nie mialem kontaktu ze sparkiem wiec chcialem sie czegos dowiedziec)
  1. Jak aplikacja w Scali komunikuje się ze klastrem sparkowym: zleca zadania, monitoruje ich stan i pobiera wyniki.
  2. What is important in development environment
  3. How to set up development environment (remote debugging, deployment) + Spark and Spark Streaming use cases, pros and cons developing apps in Scala vs Java/Python. Can be presentation.
  • jak ustawic srodowisko do developmentu (remote debugging. deploying), use casey zastosowania sparka i spark streamingu, zalety pisania w sparku w scali zamiast w javie/pythonie. Odpowiada mi forma prezentacji
  1. How to develop Spark apps in Scala
  • programowanie w Scali, dowiedzieć się, jak pracować ze Sparkiem
  1. MLlib & real-life use case. No more word counts or power of vector of ints. Show me Spark to conquer the world!
  • MLlib plus jakiś konkret z życia wzięty. Rzygam przykładami jak zliczyć liczbę słów w tekście albo podnieść wektor liczb do potęgi. Chcę zobaczyć jak zawojować świat Sparkiem, a nie jakieś tam takie okruchy.
  1. Introductory example. Companies and Spark - where and how
  • Prosty, działający przykład. Jakie firmy używają i do czego.
  1. Going to do the workshop https://github.com/deanwampler/spark-workshop. Hope it sparks some idea!
  1. MLlib
  • MLlib. Jak będziemy robić, to nie będzie nudy
  1. How to manage resources for Spark apps on Yarn vs Mesos
  • Jak zarządzać zasobami dla spark-aplikacji, Yarn vs. Mesos
  1. Spark Workshop
  • workshop formula with prepared data sets and problems like in school
  • how to join jdbc data source and json or csv file
  • How to group, get top rated, most popular things etc.
@zero323
Copy link

zero323 commented Sep 10, 2015

@pdendek Można (przykłady bezpośrednio z docstringów)

  • Spark >= 1.2

    from pyspark.sql.types import IntegerType
    
    sqlContext.registerFunction("stringLengthInt", lambda x: len(x), IntegerType())
    sqlContext.sql("SELECT stringLengthString('test')").collect()
    
  • Spark >= 1.3

    from pyspark.sql.functions import udf
    from pyspark.sql.types import IntegerType
    
    slen = udf(lambda s: len(s), IntegerType())
    df.select(slen(df.name).alias('slen')).collect()
    

Z tego co wiem nie można zdefiniować UDAFów, ale to tak czy inaczej eksperymentalny feature.

@pdendek
Copy link

pdendek commented Sep 10, 2015

@zero323 true
tak czy inaczej są rzeczy,
które docierają co PySparkowego API później

@zero323
Copy link

zero323 commented Sep 11, 2015

@pdendek

To racja, chociaż poważniejszym ograniczeniem są różne subtelności związane z tym jak wygląda komunikacja z JVM co sprawia, że np. używając MLlib w Scali możesz zrobić coś takiego

 rdd.map(lp => model.predict(lp.features)) 

a Pythonowy odpowiednik nie ma szans zadziałać

 rdd.map(lambda lp: model.predict(lp.features))

No i generalnie PySpark sprawia wrażenie słabiej przetestowanego.

W każdym razie dzięki za odpowiedź.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment