Apache Spark

Radosław Szmit

3 minute read

W tym poście powiemy sobie o pewnych aspektach działania Sparka w kontekście przetwarzania RDD. Opóżnione wykonywanie i przechowywanie RDD Spark podobnie jak wiele innych narzędzia Big Data takich jak Apache Pig, nie wykonuje naszego programu krok po kroku, tylko odkłada sobie polecenia w pamięci i wykonuje dopiero wtedy gdy są potrzebne. Zaletą takiego podejścia jest wykonywanie tylko tych operacji które były niezbędne oraz możliwość ich optymalizacja przez połączenie ich w prostszą operację (np.

Radosław Szmit

3 minute read

W RDD nie musimy przechowywać pojedynczych obiektów, ale możemy tam przekazywać pary obiektów, czyli tak zwane krotki lub z angielskiego tuple. Na takim RDD mamy dostęp do nowych metod usprawniających nam pracę z krotkami. TWorzenie RDD par w programie sterownika Scala: val lines = Map((1,"Ala ma kota"), (2,"Witaj świecie"), (3,"Dwadzieścia tysięcy mil podmorskiej żeglugi")) val rddPair = sc.parallelize(lines.toSeq) rddPair.first Python: lines = [(1,"Ala ma kota"), (2,"Witaj świecie"), (3,"Dwadzieścia tysięcy mil podmorskiej żeglugi")] rddPair = sc.

Radosław Szmit

6 minute read

Wprowadzenie RDD (Resilient Distributed Datasets) są podstawowym typem danych wykorzystywanym przez Spark aktualnie będącymi częścią tak zwanego Spark Core czyli bazowego modułu Apache Spark. Na RDD będziemy wykonywać różne metody które dzielimy na transformacje i akcje. Transformacje przekształcają nam RDD w inne RDD, zaś akcje generują z RDD wynik który może być zwrócony do sterownika bądź zapisany w HDFS’ie lub innym obsługiwanym źródle danych. Tworzenie RDD W realnych zastosowaniach RDD tworzy się poprzez wczytanie danych z rozproszonych zasobów sieciowych takich jak na przykład HDFS, Cassandra, MongoDB, Amazon S3 i wielu innych.

Podstawy programowania Apache Spark

Wprowadzenie do programowania Apache Spark dla programistów Java, Scala i Python

Radosław Szmit

5 minute read

Programowanie Apache Spark Apache Spark został napisany w języku Scala, przez co domyślnym językiem programowania jak i tym które oferuje najwięcej możliwości jest właśnie Scala. Dzięki wyjątkowo dobrej kompatybilności Scali z językiem Java, drugim językiem programowania jaki jest dostępny dla tej platformy jest oczywiście język Java oferujący od wersji 8 wiele funkcjonalności zbliżonych do języka Scala (dosłownie rzecz biorąc, twórcy języka Java w wersji 8 wzorowali się między innymi na języku Scala wprowadzając nowe funkcjonalności).

Szybki start z Apache Spark

Zacznij swoją przygodę z Apache Spark

Radosław Szmit

5 minute read

Pobranie Apache Spark Sparka najlepiej pobrać ze strony projektu: http://spark.apache.org/downloads.html. Ja skorzystam z wersji 2.2.0 przystosowanej do pracy z Apache Hadoop w wersji 2.7 lub wyższej. Po ściągnięciu należy wypakować w dowolnym katalogu na dysku. Spark działa na systemach z rodziny Windows oraz Unix (Linux, MacOS, etc.). Ja skorzystam z systemu Linux Mint. Do działa Sparka będzie wymagana Java 8+, Python 2.7+/3.4+ i R 3.1+ oraz Scala 2.11 (ze względu na kompatybilność musimy użyć dokładnie tej wersji 2.