Instalacja Apache Spark w Windows

By korzystać z Apache Spark, potrzebujemy Hadoop. Hadoop to system do przetwarzania dużych zbiorów danych w sposób rozproszony na wielu komputerach. Składa się z HDFS (system plików) i MapReduce (model obliczeniowy). Apache Spark jest do pobrania w jednym z trzech pakietow:

  • Prebuilt for Apache Hadoop
  • Prebuild for Apache Hadoop (Scala)
  • Prebuild with user-provided Hadoop 

1. Pobranie Apache Spark

Ze strony https://spark.apache.org/downloads.html pobieramy pierwsza wersję; Prebuilt for Apache Hadoop. Pobrany plik *.tgz rozpakowujemy do pliku *tar który nastepnie rozpakujemy np w katalogu D:\spark-3.5.4-bin-hadoop3

Następnie dodajemy zmienną systemową 'SPARK_HOME' która wskazuje na katalog 'D:\spark-3.5.4-bin-hadoop3' oraz dodajemy '%SPARK_HOME%\bin' do zmiennej środowiskowej PATH.

2. Instalacja Hadoop

Spark wymagać będzie Hadoop do działania. Pobieramy odpowiednia wersje. Wersję dla której będziemy mieć Winutils - na stronie https://github.com/cdarlint/winutils, sprawdzisz dla której wersji dostępne jest narzędzie Winutils. Jesli np ostatnia wersją Winutils jest 'hadoop-3.3.6/bin' - pobierz Hadoop w wersji 3.3.6.

Pobrany plik *.gz rozpakowujemy najpierw do postaci *tar a nastepnie do katalogu docelowego programu, np. 'D:\hadoop'

3. Pobranie Winutils

Winutils.exe to narzędzie umożliwiające działanie Hadoop na Windowsie, emulując funkcje systemu plików Linuxa wymagane przez Hadoop. Wchodzimy na stronę https://github.com/cdarlint/winutils i pobieramy cale repozytorium ('Download zip'). Rozpakowujemy zip i wybieramy wersję Hadoop zgodna z naszym Hadoop zainstalowanym w kroku powyżej. Kopiujemy zawartość katalogu 'hadoop-x.x.x/bin' do katalogu 'D:\hadoop\bin' nadpisując kilka plików.

Następnie tworzymy zmienną 'HADOOP_HOME' wskazującą na 'D:\hadoop' oraz dodajemy '%HADOOP_HOME\bin%' do zmiennej środowiskowej PATH.

4. Uruchamianie Apache Spark

Z linii poleceń uruchom Apache Spark wpisując

spark-shell

Ujrzymy w efekcie ekran jak poniżej (informacja że interfejs webowy dostępny jest na porcie 4000 hosta na ktorych uruchomiliśmy Apache Spark):

Aby uzyskać dostęp do interfejsu webowego Spark, otwórz przeglądarkę internetową i przejdź pod następujący adres:

http://localhost:4040/

Możesz zastąpić localhost nazwą lub adresem IP swojego systemu.
Interfejs webowy Spark wyświetla szczegóły dotyczące uruchomionych zadań, etapów oraz wykorzystania zasobów:

Testowanie Apache Spark

By sprawdzic czy Apache Spark dziala, zrobimy prosty test otwarcia pliku tekstowego i odczytu zawartosci pliku. Otwieramy plik wpisując w linii poleceń:

val x = sc.textFile("d:/temp/test.txt")

Następnie listujemy zawartość pliku:

x.take(11).foreach(println)

Jeśli wszystko przebiegnie zgodnie z planem, a powinno, nasza instancja Apache Spark jest gotowa do pracy.