• Przejdź do treści
  • Przejdź to drugiego menu
  • Przejdź do głównego paska bocznego
  • Przejdź do stopki
  • START
  • BLOG
  • NEWSLETTER
  • KIM JESTEM
  • KONTAKT
Cegładanych

Cegładanych

Dane - Databricks i Chmura Azura

  • Azure
  • Databricks
  • Spark
  • Etl
  • Engineering
  • AI

Apache Spark na Windowsie czy to możliwe?

17.09.2022 Krzysztof Nojman

Spark na Windowsie

Witam, do tej pory pisałem o Databricks jako o super narzędziu do Big Data. Jest on niewątpliwie bardzo użyteczny, ale do tego potrzeba przeglądarki i dostępu do chmury publicznej, Azure, AWS lub GCP. A co jeśli chcesz zacząć przygodę ze Apache Spark na Windowsie bez wydawania kasy na chmurę. Mam dla Ciebie dobre wieści jest to możliwe, żeby używać Big Data na kilku rdzeniach. Spark on Windows ?? tak to możliwe. Dzięki genialnemu rozwiązaniu, jaki ma Spark da się go używać w opcji 'Local Mode’ właśnie po to by można było go uruchomić lokalnie. W takim modelu działa Databricks Community.

Sparka można używać w konsoli co może się wydawać ułatwieniem, lecz ja bym proponował od razu zacząć w porządnym narzędziu. IntelliJ lub PyCharm. Dzięki temu będzie można poznać narzędzia od podstaw. Co ułatwi później pracę.

Wymagania

Oto lista narzędzi, którą trzeba zainstalować Java, Python, Spark, winutils, w zależności, w jakim języku chcesz pracować, dla Scali proponuję IntelliJ dla Pythona PyCharm. Z dodatkowych narzędzi do budowania mam zainstalowane sbt i maven to oczywiście jest świat Intellij. Sbt współpracuje lepiej ze scalą, więc na początek polecam prace z sbt. Jeśli chodzi o maven, to pracując w Azure ma on natywne wsparcie w pipelinach devopsowych (Artifacts), więc w Azure będzie lepszym wyborem.

Java

Jest bardzo małe prawdopodobieństwo że nie masz Java, jeśli tak jest to instrukcje znajdziesz tutaj. Wymagana wersja 1.8 lub 11. Po zainstalowaniu trzeba przejść kolejne kroki.

  1. Upewnij się, że Java jest dodana do Zmiennych środowiskowych (’Environment Variables’).
  • Dodaj JAVA_HOME do Zmienne Systemowe
Java_home
  1. Dodaj ścieżkę folderu bin do Path
Java Path
  1. Sprawdź w konsoli czy Java jest zainstalowana. Konsole możesz uruchomić wpisując w wyszukiwarkę Windows ’cmd’ potem wpisz 'java -version’. Jeśli wszystko jest dobrze będzie to wyglądało tak:
Java Version

Apache Spark

  1. Pobierz najnowszego Sparka ze strony https://spark.apache.org/downloads.html
Spark Download
Spark
  1. Rozpakuj pobrany plik, w moim przypadku jest to spark-3.1.2-bin-hadoop3.2.tgz
  2. Umieść wszystkie foldery w ścieżce na dysku, ja trzymam to na C:\spark-3.1.2-bin-hadoop3.2, ale możesz to umieścić w innym miejscu.
  3. Dodaj Zmienną środowiskową (’Environment Variables’).
    • Dodaj SPARK_HOME do Zmienne Systemowe
Spark home
  1. Dodaj ścieżkę folderu bin do Path
Spark Path

Winutils

Winutils to plik binarny, który umożliwia działanie kodu hadoopa (HDFS) na windowsie. Możesz pobrać gotowy plik ja używam tego: winutils, lub się pobawić i wygenerować własny. Jest sporo instrukcji na necie ja trafiłem na tą stronę ale tego nie testowałem.

  1. Pobierz pliki lub stwórz własnoręcznie w zależności od preferencji. Jak już zdobędziesz plik to umieść go na dysku, ja wrzucam na C:/
  2. Dodaj Zmienną środowiskową (’Environment Variables’).
    • Dodaj HADOOP_HOME do Zmienne Systemowe
 Hadoop-Home
  • Dodaj ścieżkę folderu bin do Path
  1. Sprawdź w konsoli czy Spark działa. Konsole uruchomisz jak w przypadku powyżej z Java. Wpisz 'spark-shell’. Jeśli wszystko jest dobrze będzie to wyglądało tak:
Spark Shell

Oczywiście na tym etapie możesz korzystać ze Apache Spark na Windowsie. Masz tylko do dyspozycji Spark-Shell, ale próba tworzenia aplikacji Spark w stylu Big Data w konsoli może się wydawać ekscentryczna. Ja bym polecił jakieś porządne narzędzie. Jeśli zainstalujesz Pythona, to w konsoli będziesz mógł uruchomić Pyspark.

Python

Bez Pythona świat nie byłby taki sam, więc warto go poznać. Obecnie, Python jest bardzo popularnym językiem używanym w środowisku Spark, więc jeśli jesteś nim zainteresowany to polecam go wypróbować. Pobierz Pythona z oficjalnej strony.

  1. Podczas instalacji wybierz opcje dodaj Python to PATH.
  2. Sprawdź w konsoli wersje Phytona. Jeśli wysztko poszlo dobrze zobaczysz version w konsoli.
Python version

Teraz powinieneś uruchomić Pyspark żeby sprawdzić czy wszystko działa. Wróć do konsoli i wpisz pyspark. Zobaczysz środowisko w którym możesz używać Python w Sparku.

pyspark

Intellij

Jeśli chcesz działać w świecie scali to zapraszam do Intellij, jest to bardzo popularne narzędzie i działa jak należy.

Wystarczy pobrać Intellij Community i zainstalować. Tutaj nie ma specjalnych wymagań, wybierz wszystkie opcje i będzie dobrze.

Intelij

Po zainstalowaniu najważniejsze elementy, które trzeba doinstalować to plugin Scala. Żeby zainstalować plugin:

  • File > Settings > Plugins
  1. Stwórz nowy projekt. Z okna startowego Intellij lub z Menu File > New > Project. Wybierz Scala > sbt
  1. Podaj nazwę projektu „<SparkApplication>.”
  1. Kliknij Finish

Otwórz plik build.sbt i dodaj biblioteki Sparka. Pamiętaj, że bardzo ważne są wersje wszystkich bibliotek jakie dodasz. Najczęstsze błędy to niekompatybilne wersje języka i/lub wersji bibliotek.

libraryDependencies ++= Seq(
  "org.apache.spark" %% "spark-core" % "3.1.2",
  "org.apache.spark" %% "spark-sql" % "3.1.2"
)

4. Dodaj Scala class „SparkProject” jako „Object ”

5. Dodaj kod wymagany do uruchomienia Sparka

import org.apache.spark.sql.SparkSession

object SparkProject extends App {
  val spark = SparkSession.builder
    .master("local[4]")
    .appName("Moja-applikacja")
    .getOrCreate()

  val kolumny = Seq("Spark Version","Scala Version", "Date")
  val dane = Seq(("3.1.2", "2.12","May, 2021"), ("3.1.1", "2.12","Mar, 2021"), ("3.1.0", "2.12","Jan, 2021"))


  var dfFromData2 = spark.createDataFrame(dane).toDF(kolumny:_*)

  dfFromData2.show()
}

6. Klikasz prawym gdziekolwiek w polu tekstowym i wybierasz „Run SparkProject”. Jeśli wszystko poszło dobrze to zobaczysz DataFrame. Teraz możesz zacząć eksperymentować ze Sparkiem. Milej zabawy.

PyCharm

Jeśli wybrałeś Python to dobrym narzędziem będzie PyCharm. Zainstaluj Community Edition. Ja zawsze wybieram wszystkie opcje jak coś instaluję żeby się nie ograniczać 🙂

Konfiguracja dla PyCharm

Zmienne środowiskowe

  1. Upewnij się ze ścieżki Python są dodane do systemowych zmiennych środowiskowych
  1. Dodaj wartości dla zmiennych PYSPARK_DRIVER_PYTHON i PYSPARK_PYTHON
  1. Wyłącz „Manage App Execution Aliases” (Alliasy wykonania aplikacji) dla Pythona
  1. Stwórz nowy projekt, tutaj powinna wystarczyć tylko nazwa.
  1. Po odpaleniu PyCharm trzeba doinstalować dwie paczki py4j i pyspark. Moża to zrobić z File > Settings > Project: <Project Name> – Kliknij znak plus nad tabelką. Wpisujesz py4j a potem pyspark (masz opcję wyboru wersji, upewnij się że pasuje do wersji Spark, którą pobrałeś)
  1. Dodaj plik File > New > Python File
  1. Dodaj kod
from pyspark.sql import SparkSession

if __name__ == '__main__':
   
   spark = SparkSession.builder.master("local[*]").appName("HelloWorld").getOrCreate()

    kolumny = ["Spark Version", "Scala Version", "Date"]
    
    dane = [("3.1.2", "2.12", "May, 2021"), ("3.1.1", "2.12", "Mar, 2021"), ("3.1.0", "2.12", "Jan, 2021")]

    dfFromData2 = spark.createDataFrame(dane).toDF(*kolumny)

    dfFromData2.show()

Klikasz prawym na Run i jeśli wszystko jest ok to powinieneś widzieć DataFrame.

I tak oto możesz zacząć przygodę ze Apache Spark na Windowsie. Jest to alternatywa i dobra metoda żeby poznać narzędzia.

W kategorii:Spark Tagi:Intellij, pyspark, Spark, Windows 10

Big Data ebook
Subskrybuj
Powiadom o
guest

guest

0 Komentarze
Najstarsze
Najnowsze Najwięcej głosów
Opinie w linii
Zobacz wszystkie komentarze

Pierwszy panel boczny

O MNIE

Narzędzia i dobre procesy do przetwarzania danych to podstawa sukcesu i wartości dla firmy. Czytaj więcej…

big data ebook

Ostatnie wpisy

spark joins

Jak Spark robi join?

13.01.2025 By Krzysztof Nojman

Czy JSON to samo zło

04.01.2025 By Krzysztof Nojman

VS Code nowości AI 

09.12.2024 By Krzysztof Nojman

Linki społecznościowe

  • Facebook
  • GitHub
  • LinkedIn
  • YouTube

Wyszukiwanie

Footer

Najnowsze wpisy

  • Jakość danych w Databricks DQX
  • Jak Spark robi join?
  • Czy JSON to samo zło
  • VS Code nowości AI 
  • Lista narzędzi AI dla każdego inżyniera, które warto znać
  • Kilka pomysłów na konfigurację Databricks
  • Co pamięta wykonawca (executor🧠)

Tagi

AI Apache Spark Architektura Azure BIg Data Certyfikat cloud Databricks Data Factory Dataframe DQX ETL Hurtownia Danych Intellij IoT Jaka technologia Join Kod Konfiguracja lakehouse Narzędzia Optymalizacja pyspark Spark Windows 10 zadania

Informacje Prawne

To jest nudna część lecz wymagana, wszystkie notki prawne o stronie znajdziecie tutaj.

Polityka Prywatności

Regulamin

Copyright © 2025 · Wszelkie prawa zastrzeżone. Krzysztof Nojman

wpDiscuz