jakie są opcje hadoop na Scali

Rozpoczynamy projekt analityczny oparty na dużych danych i rozważamy przyjęcie Scali (stos typesafe). Chciałbym poznać różne projekty/projekty scala API, które są dostępne do wykonania programów hadoop, map reduce.

Author: prassee, 2013-01-30

5 answers

Zdecydowanie sprawdź oparzenie . Mówiąc Jako użytkownik i okazjonalny współpracownik, uznałem to za bardzo przydatne narzędzie. Skalowanie API ma być również bardzo zgodne ze standardowym API kolekcji Scala. Tak jak można nazwać flatMap, map lub groupBy na zwykłych kolekcjach, tak samo można zrobić na Skalujących się rurach, które można sobie wyobrazić jako rozproszoną listę krotek. Istnieje również typowana wersja API, która zapewnia silniejsze gwarancje bezpieczeństwa typu. Nie używałem Scoobi, ale API wydaje się podobne do tego, co mają.

Dodatkowo istnieje kilka innych korzyści:

    Skalowanie jest często używane w produkcji na Twitterze i zostało przetestowane w walce na zestawach danych w skali Twittera. [7]}ma kilku aktywnych współpracowników, zarówno wewnątrz, jak i Na Zewnątrz Twittera, którzy są zobowiązani do uczynienia go wielkim.
  • jest interoperacyjny z istniejącymi zadaniami kaskadowymi.
  • oprócz Typowanego API, posiada API pól a, które może być bardziej znane użytkownikom frameworków R i data-frame.
  • zapewnia solidnąbibliotekę macierzy .
 20
Author: arkajit,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-05 21:58:54

Odniosłem sukces z Scoobi . Jest prosty w użyciu, mocno wpisany, ukrywa większość bałaganu Hadoop (robiąc coś takiego jak automatyczne serializowanie obiektów dla Ciebie) i całkowicie Scala. Jedną z rzeczy, które lubię w jego API jest to, że projektanci chcieli, aby Kolekcje Scoobi wyglądały jak standardowe Kolekcje Scali, więc faktycznie używasz ich w ten sam sposób, z tym że operacje są wykonywane na Hadoopie zamiast lokalnie. To naprawdę sprawia, że całkiem łatwo przełączaj się między kolekcjami Scoobi i kolekcjami Scala podczas tworzenia i testowania.

Użyłem również Scrunch , który jest zbudowany na bazie Java-based Crunch. Nie używałem go od jakiegoś czasu, ale teraz jest częścią Apache.

 8
Author: dhg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-01-30 06:40:31

Twitter inwestuje wiele wysiłku w skalowanie, w tym ładną bibliotekę Matrix, która może być używana do różnych zadań uczenia maszynowego. Ja też muszę spróbować.

Dla kompletności, jeśli nie jesteś przekonany do MapReduce, zajrzyj do projektu Spark . Działa znacznie lepiej w wielu scenariuszach, w tym w ich porcie roju do Spark, odpowiednio zwanym Shark . Jako częsty użytkownik Ula jestem podekscytowany tym.

 4
Author: Dean Wampler,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-01-30 14:11:34

Pierwsze dwa, które prawdopodobnie zbadam, to skalowanie (które opiera się na Kaskadowaniu) i Scoobi. Ja też nie używałem, ale w szczególności wygląda na to, że zapewnia naprawdę ładne API.

 1
Author: Thomas Lockney,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-01-30 04:34:55

Inną opcją jest Stratosphere , oferuje Scala API, które konwertuje typy Scala do wewnętrznych typów danych Stratosphere.

API jest dość podobne do skalowania, ale Stratosfera natywnie obsługuje zaawansowane przepływy danych (więc nie musisz łączyć Zadań MapReduce). Będziesz miał znacznie lepszą wydajność ze stratosferą niż ze Sparzaniem.

Stratosphere nie działa na Hadoop MapReduce, ale na Hadoop YARN , więc możesz użyć swojego istniejącego Gromada przędza .

To jest przykład liczby słów w stratosferze (z API Scala):
val input = TextFile(textInput)
val words = input.flatMap { line => line.split(" ") }
val counts = words
  .groupBy { word => word }
  .count()
val output = counts.write(wordsOutput, CsvOutputFormat())
val plan = new ScalaPlan(Seq(output))
 1
Author: Robert Metzger,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-11 08:50:06