Jak połączyć PyCharm z PySpark?


81

Jestem nowy z Apache Spark i najwyraźniej zainstalowałem Apache-Spark z Homebrew w moim Macbooku:

Last login: Fri Jan  8 12:52:04 on console
user@MacBook-Pro-de-User-2:~$ pyspark
Python 2.7.10 (default, Jul 13 2015, 12:05:58)
[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
16/01/08 14:46:44 INFO SparkContext: Running Spark version 1.5.1
16/01/08 14:46:46 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
16/01/08 14:46:47 INFO SecurityManager: Changing view acls to: user
16/01/08 14:46:47 INFO SecurityManager: Changing modify acls to: user
16/01/08 14:46:47 INFO SecurityManager: SecurityManager: authentication disabled; ui acls disabled; users with view permissions: Set(user); users with modify permissions: Set(user)
16/01/08 14:46:50 INFO Slf4jLogger: Slf4jLogger started
16/01/08 14:46:50 INFO Remoting: Starting remoting
16/01/08 14:46:51 INFO Remoting: Remoting started; listening on addresses :[akka.tcp://sparkDriver@192.168.1.64:50199]
16/01/08 14:46:51 INFO Utils: Successfully started service 'sparkDriver' on port 50199.
16/01/08 14:46:51 INFO SparkEnv: Registering MapOutputTracker
16/01/08 14:46:51 INFO SparkEnv: Registering BlockManagerMaster
16/01/08 14:46:51 INFO DiskBlockManager: Created local directory at /private/var/folders/5x/k7n54drn1csc7w0j7vchjnmc0000gn/T/blockmgr-769e6f91-f0e7-49f9-b45d-1b6382637c95
16/01/08 14:46:51 INFO MemoryStore: MemoryStore started with capacity 530.0 MB
16/01/08 14:46:52 INFO HttpFileServer: HTTP File server directory is /private/var/folders/5x/k7n54drn1csc7w0j7vchjnmc0000gn/T/spark-8e4749ea-9ae7-4137-a0e1-52e410a8e4c5/httpd-1adcd424-c8e9-4e54-a45a-a735ade00393
16/01/08 14:46:52 INFO HttpServer: Starting HTTP Server
16/01/08 14:46:52 INFO Utils: Successfully started service 'HTTP file server' on port 50200.
16/01/08 14:46:52 INFO SparkEnv: Registering OutputCommitCoordinator
16/01/08 14:46:52 INFO Utils: Successfully started service 'SparkUI' on port 4040.
16/01/08 14:46:52 INFO SparkUI: Started SparkUI at http://192.168.1.64:4040
16/01/08 14:46:53 WARN MetricsSystem: Using default name DAGScheduler for source because spark.app.id is not set.
16/01/08 14:46:53 INFO Executor: Starting executor ID driver on host localhost
16/01/08 14:46:53 INFO Utils: Successfully started service 'org.apache.spark.network.netty.NettyBlockTransferService' on port 50201.
16/01/08 14:46:53 INFO NettyBlockTransferService: Server created on 50201
16/01/08 14:46:53 INFO BlockManagerMaster: Trying to register BlockManager
16/01/08 14:46:53 INFO BlockManagerMasterEndpoint: Registering block manager localhost:50201 with 530.0 MB RAM, BlockManagerId(driver, localhost, 50201)
16/01/08 14:46:53 INFO BlockManagerMaster: Registered BlockManager
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /__ / .__/\_,_/_/ /_/\_\   version 1.5.1
      /_/

Using Python version 2.7.10 (default, Jul 13 2015 12:05:58)
SparkContext available as sc, HiveContext available as sqlContext.
>>>

Chciałbym zacząć grać, aby dowiedzieć się więcej o MLlib. Jednak używam Pycharm do pisania skryptów w Pythonie. Problem w tym, że kiedy idę do Pycharmu i próbuję zadzwonić do pyspark, Pycharm nie może znaleźć modułu. Próbowałem dodać ścieżkę do Pycharm w następujący sposób:

nie można połączyć pycharm z iskrą

Następnie z bloga próbowałem tego:

import os
import sys

# Path for spark source folder
os.environ['SPARK_HOME']="/Users/user/Apps/spark-1.5.2-bin-hadoop2.4"

# Append pyspark  to Python Path
sys.path.append("/Users/user/Apps/spark-1.5.2-bin-hadoop2.4/python/pyspark")

try:
    from pyspark import SparkContext
    from pyspark import SparkConf
    print ("Successfully imported Spark Modules")

except ImportError as e:
    print ("Can not import Spark Modules", e)
    sys.exit(1)

I nadal nie mogę zacząć używać PySpark z Pycharm, jakikolwiek pomysł jak "połączyć" PyCharm z apache-pyspark ?.

Aktualizacja:

Następnie szukam ścieżki apache-spark i python, aby ustawić zmienne środowiskowe Pycharm:

ścieżka iskry apache:

user@MacBook-Pro-User-2:~$ brew info apache-spark
apache-spark: stable 1.6.0, HEAD
Engine for large-scale data processing
https://spark.apache.org/
/usr/local/Cellar/apache-spark/1.5.1 (649 files, 302.9M) *
  Poured from bottle
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/apache-spark.rb

ścieżka do Pythona:

user@MacBook-Pro-User-2:~$ brew info python
python: stable 2.7.11 (bottled), HEAD
Interpreted, interactive, object-oriented programming language
https://www.python.org
/usr/local/Cellar/python/2.7.10_2 (4,965 files, 66.9M) *

Następnie z powyższymi informacjami próbowałem ustawić zmienne środowiskowe w następujący sposób:

konfiguracja 1

Masz pomysł, jak poprawnie połączyć Pycharm z Pyspark?

Wtedy, gdy uruchamiam skrypt w Pythonie z powyższą konfiguracją, mam ten wyjątek:

/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/bin/python2.7 /Users/user/PycharmProjects/spark_examples/test_1.py
Traceback (most recent call last):
  File "/Users/user/PycharmProjects/spark_examples/test_1.py", line 1, in <module>
    from pyspark import SparkContext
ImportError: No module named pyspark

AKTUALIZACJA: Następnie wypróbowałem te konfiguracje zaproponowane przez @ zero323

Konfiguracja 1:

/usr/local/Cellar/apache-spark/1.5.1/ 

conf 1

na zewnątrz:

 user@MacBook-Pro-de-User-2:/usr/local/Cellar/apache-spark/1.5.1$ ls
CHANGES.txt           NOTICE                libexec/
INSTALL_RECEIPT.json  README.md
LICENSE               bin/

Konfiguracja 2:

/usr/local/Cellar/apache-spark/1.5.1/libexec 

wprowadź opis obrazu tutaj

na zewnątrz:

user@MacBook-Pro-de-User-2:/usr/local/Cellar/apache-spark/1.5.1/libexec$ ls
R/        bin/      data/     examples/ python/
RELEASE   conf/     ec2/      lib/      sbin/

Odpowiedzi:


111

Z pakietem PySpark (Spark 2.2.0 i nowsze)

Po połączeniu SPARK-1267 powinieneś być w stanie uprościć proces, pipinstalując Spark w środowisku używanym do programowania PyCharm.

  1. Przejdź do Plik -> Ustawienia -> Interpreter projektu
  2. Kliknij przycisk instalacji i wyszukaj PySpark

    wprowadź opis obrazu tutaj

  3. Kliknij przycisk Zainstaluj pakiet.

Ręcznie z dostarczoną przez użytkownika instalacją Spark

Utwórz konfigurację Run :

  1. Przejdź do Uruchom -> Edytuj konfiguracje
  2. Dodaj nową konfigurację Pythona
  3. Ustaw ścieżkę skryptu tak, aby wskazywała na skrypt, który chcesz wykonać
  4. Edytuj pole Zmienne środowiskowe, aby zawierało co najmniej:

    • SPARK_HOME- powinien wskazywać na katalog z instalacją Sparka. Powinna ona zawierać katalogi, takie jak bin(z spark-submit, spark-shellitp) i conf(z spark-defaults.conf, spark-env.shitp)
    • PYTHONPATH- powinien zawierać $SPARK_HOME/pythoni opcjonalnie, $SPARK_HOME/python/lib/py4j-some-version.src.zipjeśli nie jest dostępny w inny sposób. some-versionpowinien pasować do wersji Py4J używanej przez daną instalację Spark (0.8.2.1 - 1.5, 0.9 - 1.6, 0.10.3 - 2.0, 0.10.4 - 2.1, 0.10.4 - 2.2, 0.10.6 - 2.3, 0.10.7 - 2.4 )

      wprowadź opis obrazu tutaj

  5. Zastosuj ustawienia

Dodaj bibliotekę PySpark do ścieżki interpretera (wymagana do uzupełniania kodu) :

  1. Przejdź do Plik -> Ustawienia -> Interpreter projektu
  2. Otwórz ustawienia interpretera, którego chcesz używać z usługą Spark
  3. Edytuj ścieżki interpretera, aby zawierał ścieżkę do $SPARK_HOME/python(jeśli jest to wymagane Py4J)
  4. Zapisz ustawienia

Opcjonalnie

  1. Zainstaluj lub dodaj do ścieżki adnotacje pasujące do zainstalowanej wersji Spark, aby uzyskać lepsze uzupełnianie i wykrywanie błędów statycznych (Zastrzeżenie - jestem autorem projektu).

Wreszcie

Użyj nowo utworzonej konfiguracji, aby uruchomić skrypt.


9
Przy okazji, tak edytujesz ścieżki interpretera, przynajmniej w PyCharm 2016: jetbrains.com/help/pycharm/2016.1/ ... Wybierz przycisk „Pokaż ścieżki dla wybranego tłumacza”
AlonL

3
W wersji PyCharm na komputery Mac (v-2017.2) Interpreter projektu znajduje się w Preferencjach ... zamiast Plik / Ustawienia
Losowa pewność

1
W przypadku opcji 1, jak dodać pliki JAR / pakiety Spark JAR? np. potrzebuję com.databricks: spark-redshift_2.10: 3.0.0-preview1
lfk

@lfk Albo za pomocą plików konfiguracyjnych ( spark-defaults.conf), albo za pomocą argumentów przesyłania - tak samo jak w przypadku notatnika Jupyter . Jeśli wolisz tę opcję, argumenty Submit można zdefiniować w zmiennych środowiskowych PyCharm zamiast w kodzie.
10465355 mówi Przywróć Monikę

38

Oto, jak rozwiązałem to na Mac OSX.

  1. brew install apache-spark
  2. Dodaj to do ~ / .bash_profile

    export SPARK_VERSION=`ls /usr/local/Cellar/apache-spark/ | sort | tail -1`
    export SPARK_HOME="/usr/local/Cellar/apache-spark/$SPARK_VERSION/libexec"
    export PYTHONPATH=$SPARK_HOME/python/:$PYTHONPATH
    export PYTHONPATH=$SPARK_HOME/python/lib/py4j-0.9-src.zip:$PYTHONPATH
    
  3. Dodaj pyspark i py4j do katalogu głównego zawartości (użyj poprawnej wersji Spark):

    /usr/local/Cellar/apache-spark/1.6.1/libexec/python/lib/py4j-0.9-src.zip
    /usr/local/Cellar/apache-spark/1.6.1/libexec/python/lib/pyspark.zip
    

wprowadź opis obrazu tutaj


która wersja pycharm to jest? Korzystam z edycji społecznościowej 2016.1 i nie widzę tego okna.
ravindrab

2016.1 Jestem na osx, ale powinno być podobnie. Przejdź do „Preferencji”. Kliknij swój projekt po lewej stronie.
sthomps

Dzięki. Pomogło mi to w IntelliJ IDEA, który nie ma ustawienia Project Interpreter.
OneCricketeer

Czy możesz wyjaśnić, co robi dodanie do katalogu głównego zawartości? Nie musiałem tego robić ... Po prostu umieściłem $SPARK_HOME/pythonw ścieżce klasy interpretera i dodałem zmienne środowiskowe i działa zgodnie z oczekiwaniami.
OneCricketeer

@ cricket_007 Trzecia kwestia: Add pyspark and py4j to content root (use the correct Spark version)pomogła mi w ukończeniu kodu. Jak udało ci się to osiągnąć, zmieniając tłumacza projektu?
Ajeet Shah

13

Oto konfiguracja, która działa dla mnie (Win7 64bit, PyCharm2017.3CE)

Skonfiguruj Intellisense:

  1. Kliknij Plik -> Ustawienia -> Projekt: -> Interpreter projektu

  2. Kliknij ikonę koła zębatego po prawej stronie menu rozwijanego tłumacza projektu

  3. Kliknij Więcej ... w menu kontekstowym

  4. Wybierz tłumacza, a następnie kliknij ikonę „Pokaż ścieżki” (w prawym dolnym rogu)

  5. Kliknij ikonę + dwa dodaj następujące ścieżki:

    \ python \ lib \ py4j-0.9-src.zip

    \ bin \ python \ lib \ pyspark.zip

  6. Kliknij OK, OK, OK

Śmiało i wypróbuj swoje nowe możliwości IntelliSense.


1
Bardzo potrzebna odpowiedź :)
Rohit Nimmala

5

Skonfiguruj Pyspark w Pycharm (Windows)

File menu - settings - project interpreter - (gearshape) - more - (treebelowfunnel) - (+) - [add python folder form spark installation and then py4j-*.zip] - click ok

Upewnij się, że SPARK_HOME jest ustawiony w środowisku Windows, pycharm weźmie stamtąd. Potwierdzać :

Run menu - edit configurations - environment variables - [...] - show

Opcjonalnie ustaw SPARK_CONF_DIR w zmiennych środowiskowych.


4

Użyłem następującej strony jako odniesienia i udało mi się pobrać pyspark / Spark 1.6.1 (zainstalowany przez homebrew) zaimportowany w PyCharm 5.

http://renien.com/blog/accessing-pyspark-pycharm/

import os
import sys

# Path for spark source folder
os.environ['SPARK_HOME']="/usr/local/Cellar/apache-spark/1.6.1"

# Append pyspark  to Python Path
sys.path.append("/usr/local/Cellar/apache-spark/1.6.1/libexec/python")

try:
    from pyspark import SparkContext
    from pyspark import SparkConf
    print ("Successfully imported Spark Modules")
except ImportError as e:
    print ("Can not import Spark Modules", e)
sys.exit(1)

Z powyższym pyspark ładuje się, ale pojawia się błąd bramy, gdy próbuję utworzyć SparkContext. Występuje pewien problem ze Sparkiem z homebrew, więc po prostu pobrałem Spark ze strony internetowej Spark (pobrałem wstępnie zbudowany dla Hadoop 2.6 i nowszych) i wskazałem na katalogi Spark i py4j poniżej. Oto kod w pycharm, który działa!

import os
import sys

# Path for spark source folder
os.environ['SPARK_HOME']="/Users/myUser/Downloads/spark-1.6.1-bin-hadoop2.6"

# Need to Explicitly point to python3 if you are using Python 3.x
os.environ['PYSPARK_PYTHON']="/usr/local/Cellar/python3/3.5.1/bin/python3"

#You might need to enter your local IP
#os.environ['SPARK_LOCAL_IP']="192.168.2.138"

#Path for pyspark and py4j
sys.path.append("/Users/myUser/Downloads/spark-1.6.1-bin-hadoop2.6/python")
sys.path.append("/Users/myUser/Downloads/spark-1.6.1-bin-hadoop2.6/python/lib/py4j-0.9-src.zip")

try:
    from pyspark import SparkContext
    from pyspark import SparkConf
    print ("Successfully imported Spark Modules")
except ImportError as e:
    print ("Can not import Spark Modules", e)
    sys.exit(1)

sc = SparkContext('local')
words = sc.parallelize(["scala","java","hadoop","spark","akka"])
print(words.count())

Te instrukcje pomogły mi w rozwiązywaniu problemów w PyDev, a następnie w uruchomieniu PyCharm - https://enahwe.wordpress.com/2015/11/25/how-to-configure-eclipse-for-developing -with-python-and-spark-on-hadoop /

Jestem pewien, że ktoś spędził kilka godzin waląc głową w monitor, próbując to uruchomić, więc miejmy nadzieję, że pomoże to zachować zdrowie psychiczne!


2

Używam condado zarządzania pakietami Pythona. Więc wszystko, co zrobiłem na terminalu poza PyCharm, to:

conda install pyspark

lub, jeśli chcesz mieć wcześniejszą wersję, powiedz 2.2.0, wykonaj:

conda install pyspark=2.2.0

To automatycznie pobiera również py4j. PyCharm nie narzekał już na to, import pyspark...a uzupełnianie kodu również działało. Zauważ, że mój projekt PyCharm został już skonfigurowany do używania interpretera Pythona, który jest dostarczany z Anacondą.


1

Obejrzyj ten film.

Załóżmy, że katalog Spark Python to: /home/user/spark/python

Załóżmy, że Twoje źródło Py4j to: /home/user/spark/python/lib/py4j-0.9-src.zip

Zasadniczo dodajesz katalog spark python i katalog py4j w nim do ścieżek interpretera. Nie mam wystarczającej reputacji, aby opublikować zrzut ekranu.

W filmie użytkownik tworzy wirtualne środowisko w samym pycharmie, jednak można utworzyć wirtualne środowisko poza pycharmem lub aktywować istniejące wcześniej środowisko wirtualne, a następnie rozpocząć pycharm z nim i dodać te ścieżki do ścieżek interpretera środowiska wirtualnego z w ramach pycharm.

Użyłem innych metod, aby dodać iskrę za pomocą zmiennych środowiskowych basha, co działa świetnie poza pycharmem, ale z jakiegoś powodu nie zostały rozpoznane w pycharm, ale ta metoda działała doskonale.


@ml_student Wspomnę również, że jeśli zastosujesz metodę wideo (co byłoby moją rekomendacją ze względu na jej szybkość i łatwość), musisz również utworzyć instancję SparkContextobiektu na początku swojego skryptu. Zwracam na to uwagę, ponieważ użycie interaktywnej konsoli pyspark z wiersza poleceń automatycznie tworzy kontekst dla Ciebie, podczas gdy w PyCharm musisz sam się tym zająć; składnia byłaby następująca:sc = SparkContext()
Jason Wolosonovich

1

Musisz skonfigurować PYTHONPATH, SPARK_HOME przed uruchomieniem IDE lub Pythona.

Windows, edytuj zmienne środowiskowe, dodaj Spark Python i py4j do

PYTHONPATH=%PYTHONPATH%;{py4j};{spark python}

Unix,

export PYTHONPATH=${PYTHONPATH};{py4j};{spark/python}

1

Najprostszym sposobem jest zainstalowanie PySpark przez interpreter projektu.

  1. Przejdź do Plik - Ustawienia - Projekt - Interpreter projektu
  2. Kliknij ikonę + w prawym górnym rogu.
  3. Wyszukaj PySpark i inne pakiety, które chcesz zainstalować
  4. Na koniec kliknij zainstaluj pakiet
  5. Zrobione!!

0

Z dokumentacji :

Aby uruchomić aplikacje Spark w języku Python, użyj skryptu bin / spark-submit znajdującego się w katalogu Spark. Ten skrypt załaduje biblioteki Java / Scala platformy Spark i umożliwi przesyłanie aplikacji do klastra. Możesz także użyć bin / pyspark, aby uruchomić interaktywną powłokę Pythona.

Wywołujesz swój skrypt bezpośrednio za pomocą interpretera języka CPython, co moim zdaniem powoduje problemy.

Spróbuj uruchomić skrypt z:

"${SPARK_HOME}"/bin/spark-submit test_1.py

Jeśli to zadziała, powinieneś być w stanie uruchomić go w PyCharm, ustawiając interpreter projektu na spark-submit.


powinieneś być w stanie sprawić, by działał w PyCharm, ustawiając tłumacza projektu na iskrę - próbowałem. „Wybrany plik nie jest prawidłowym katalogiem głównym dla Python SDK”. Sama dlabin/pyspark
OneCricketeer

0

Postępowałem zgodnie z samouczkami on-line i dodałem zmienne env do .bashrc:

# add pyspark to python
export SPARK_HOME=/home/lolo/spark-1.6.1
export PYTHONPATH=$SPARK_HOME/python/:$PYTHONPATH
export PYTHONPATH=$SPARK_HOME/python/lib/py4j-0.9-src.zip:$PYTHONPATH

Wtedy właśnie otrzymałem wartość w SPARK_HOME i PYTHONPATH do pycharm:

(srz-reco)lolo@K:~$ echo $SPARK_HOME 
/home/lolo/spark-1.6.1
(srz-reco)lolo@K:~$ echo $PYTHONPATH
/home/lolo/spark-1.6.1/python/lib/py4j-0.9-src.zip:/home/lolo/spark-1.6.1/python/:/home/lolo/spark-1.6.1/python/lib/py4j-0.9-src.zip:/home/lolo/spark-1.6.1/python/:/python/lib/py4j-0.8.2.1-src.zip:/python/:

Następnie skopiowałem go do Run / Debug Configurations -> Zmienne środowiskowe skryptu.


0

Użyłem pycharm do połączenia Pythona i Spark. Miałem preinstalowane Java i Spark na moim komputerze.

Oto kroki, które wykonałem

  1. Utwórz nowy projekt

  2. W Ustawieniach nowego projektu -> wybrałem Python3.7 (venv) jako mój python. To jest plik python.exe obecny w folderze venv wewnątrz mojego nowego projektu. Możesz podać dowolnego Pythona dostępnego na twoim komputerze.

  3. W ustawieniach -> Struktura projektu -> Dodaj Content_Root

    Dodałem dwa foldery zip jako katalogi Spark

    1. C: \ Users \ USER \ spark-3.0.0-preview2-bin-hadoop2.7 \ python \ lib \ py4j-0.10.8.1-src.zip
    2. C: \ Users \ USER \ spark-3.0.0-preview2-bin-hadoop2.7 \ python \ lib \ pyspark.zip
  4. Utwórz plik Pythona w nowym projekcie. Następnie przejdź do Edytuj konfiguracje (w menu rozwijanym w prawym górnym rogu) i wybierz Zmienne środowiskowe

  5. Użyłem poniższych zmiennych środowiskowych i działało dobrze

    1. PYTHON UNBUFFERED 1
    2. JAVA_HOME C: \ Program Files \ Java \ jre1.8.0_251
    3. PYSPARK_PYTHON C: \ Users \ USER \ PycharmProjects \ pyspark \ venv \ Scripts \ python.exe
    4. SPARK_HOME C: \ Users \ USER \ spark-3.0.0-preview2-bin-hadoop2.7
    5. HADOOP_HOME C: \ Users \ USER \ winutils

    możesz dodatkowo pobrać winutils.exe i umieścić go w ścieżce C: \ Users \ USER \ winutils \ bin

  6. Podaj te same zmienne środowiskowe w Edytuj konfiguracje -> Szablony

  7. Przejdź do Ustawienia -> Interpreter projektu -> importuj pyspark

  8. Uruchom swój pierwszy program Pyspark!


0

Ten samouczek z pyspark_xray , narzędzia umożliwiającego debugowanie kodu pyspark w PyCharm, może odpowiedzieć na Twoje pytanie. Obejmuje zarówno system Windows, jak i Mac.

Przygotowanie

  • Otwórz wiersz poleceń, rozpocznij javapolecenie, jeśli pojawi się błąd, pobierz i zainstaluj java (wersja 1.8.0_221 od kwietnia 2020)
  • Jeśli go nie masz, pobierz i zainstaluj PyCharm Community edition (wersja 2020.1 z kwietnia 2020 r.)
  • Jeśli go nie masz, pobierz i zainstaluj środowisko uruchomieniowe Anaconda Python 3.7
  • Pobierz i zainstaluj najnowszą wersję Spark, wstępnie zbudowaną dla Apache Hadoop (spark-2.4.5-bin-hadoop2.7 od kwietnia 2020 r., Rozmiar 200 + MB) lokalnie
    • Okna :
      • jeśli nie masz narzędzia do rozpakowywania, pobierz i zainstaluj 7zip, bezpłatne narzędzie do rozpakowywania / rozpakowywania plików
      • wypakuj zawartość pliku spark tgz do folderu c: \ spark-xxx-bin-hadoopx.x
      • wykonaj czynności opisane w tym samouczku
        • zainstalować winutils.exew c:\spark-x.x.x-bin-hadoopx.x\binfolderze, bez tego pliku wykonywalnego wystąpi błąd podczas zapisywania danych wyjściowych silnika
    • Mac :
      • wypakuj zawartość pliku spark tgz do folderu \ Users [NAZWA UŻYTKOWNIKA] \ spark-xxx-bin-hadoopx.x
  • zainstaluj pyspark przez pip install pysparklubconda install pyspark

Uruchom konfigurację

Uruchamiasz aplikację Spark w klastrze z wiersza polecenia, wydając spark-submitpolecenie, które przesyła zadanie Spark do klastra. Ale z PyCharm lub innego IDE na lokalnym laptopie lub komputerze spark-submitnie można go użyć do rozpoczęcia pracy ze Spark. Zamiast tego wykonaj następujące kroki, aby skonfigurować Uruchomienie konfiguracji demo_app pyspark_xray w PyCharm

  • Ustaw zmienne środowiskowe:
    • ustaw HADOOP_HOMEwartość naC:\spark-2.4.5-bin-hadoop2.7
    • ustaw SPARK_HOMEwartość naC:\spark-2.4.5-bin-hadoop2.7
  • użyj Github Desktop lub innych narzędzi git do klonowania pyspark_xrayz Github
  • PyCharm> Otwórz pyspark_xray jako projekt
  • Otwórz PyCharm> Uruchom> Edytuj konfiguracje> Domyślne> Python i wprowadź następujące wartości:
    • Zmienne środowiskowe (Windows):PYTHONUNBUFFERED=1;PYSPARK_PYTHON=python;PYTHONPATH=$SPARK_HOME/python;PYSPARK_SUBMIT_ARGS=pyspark-shell;
  • Otwórz PyCharm> Uruchom> Edytuj konfiguracje, utwórz nową konfigurację Pythona, wskaż skryptowi ścieżkę driver.pydo pyspark_xray> demo_app

driver-run-config


-1

Najłatwiej jest

Przejdź do folderu site-packages twojej instalacji anaconda / python, skopiuj wklej tam foldery pyspark i pyspark.egg-info .

Zrestartuj pycharm, aby zaktualizować indeks. Wspomniane powyżej dwa foldery znajdują się w folderze spark / python instalacji Spark. W ten sposób otrzymasz sugestie uzupełniania kodu również z pycharm.

Pakiety witryn można łatwo znaleźć w instalacji Pythona. W anaconda znajduje się pod anaconda / lib / pythonx.x / site-packages


W ten sposób pycharm pomyśli, że to kolejna lib.
HS Rathore

-1

Próbowałem dodać moduł pyspark przez menu Project Interpreter, ale to nie wystarczyło ... istnieje wiele zmiennych środowiskowych systemu, które należy ustawić jak SPARK_HOMEi ścieżkę do /hadoop/bin/winutils.exe, aby odczytać lokalne pliki danych. Musisz także używać poprawnych wersji Pythona, JRE, JDK, wszystkich dostępnych w zmiennych środowiskowych systemu i PATH. Po częstym wyszukiwaniu w Google instrukcje w tych filmach zadziałały

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.