PyCharm को PySpark से कैसे लिंक करें?


81

मैं अपाचे स्पार्क के साथ नया हूँ और जाहिरा तौर पर मैंने अपनी मैकबुक में होमब्रे के साथ अपाचे-स्पार्क स्थापित किया है:

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.
>>>

मैं एमएललिब के बारे में अधिक जानने के लिए खेलना शुरू करूंगा। हालाँकि, मैं अजगर में स्क्रिप्ट लिखने के लिए Pycharm का उपयोग करता हूं। समस्या यह है: जब मैं Pycharm में जाता हूं और pyspark को कॉल करने की कोशिश करता हूं, तो Pycharm को मॉड्यूल नहीं मिल सकता है। मैंने निम्नानुसार Pycharm के लिए रास्ता जोड़ने की कोशिश की:

स्पार्क के साथ खिचड़ी लिंक pycharm

फिर एक ब्लॉग से मैंने यह कोशिश की:

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)

और फिर भी पाइकार्म के साथ पाइस्पार्क का उपयोग करना शुरू नहीं कर सकते हैं, कैसे अपाचे-पीआईएसआरआर के साथ पाइकर्म को "लिंक" करने का कोई विचार।

अपडेट करें:

तब मैंने पीचर्म के पर्यावरण चर को सेट करने के लिए अपाचे-स्पार्क और अजगर पथ की खोज की:

अपाचे-स्पार्क पथ:

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

अजगर पथ:

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) *

फिर उपरोक्त जानकारी के साथ मैंने पर्यावरण चर को निम्नानुसार सेट करने का प्रयास किया:

विन्यास १

Pycharm को Pyspark के साथ सही तरीके से कैसे जोड़ा जाए इसका कोई विचार?

फिर जब मैं उपरोक्त विन्यास के साथ एक अजगर स्क्रिप्ट चलाता हूं तो मेरे पास यह अपवाद है:

/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

अद्यतन करें: तब मैंने @ zero323 द्वारा प्रस्तावित इस विन्यास की कोशिश की

कॉन्फ़िगरेशन 1:

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

conf 1

बाहर:

 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/

कॉन्फ़िगरेशन 2:

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

यहाँ छवि विवरण दर्ज करें

बाहर:

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/

जवाबों:


111

PySpark पैकेज के साथ (स्पार्क 2.2.0 और बाद में)

साथ चिंगारी 1267 से किया जा रहा विलय कर आप द्वारा प्रक्रिया को सरल बनाने में सक्षम होना चाहिए pipपर्यावरण आप PyCharm विकास के लिए उपयोग में स्पार्क की स्थापना करना।

  1. फाइल पर जाएं -> सेटिंग्स -> प्रोजेक्ट इंटरप्रेटर
  2. इंस्टॉल बटन पर क्लिक करें और PySpark खोजें

    यहाँ छवि विवरण दर्ज करें

  3. इंस्टॉल पैकेज बटन पर क्लिक करें।

मैन्युअल रूप से उपयोगकर्ता के साथ स्पार्क इंस्टॉलेशन प्रदान किया गया

रन कॉन्फ़िगरेशन बनाएँ :

  1. रन पर जाएं -> कॉन्फ़िगरेशन संपादित करें
  2. नया पायथन कॉन्फ़िगरेशन जोड़ें
  3. स्क्रिप्ट पथ सेट करें ताकि यह उस स्क्रिप्ट को इंगित करे जिसे आप निष्पादित करना चाहते हैं
  4. पर्यावरण चर क्षेत्र संपादित करें ताकि इसमें कम से कम शामिल हों:

    • SPARK_HOME- यह स्पार्क इंस्टॉलेशन के साथ डायरेक्टरी को इंगित करना चाहिए। यह इस तरह के रूप निर्देशिकाओं को शामिल करना चाहिए bin(साथ spark-submit, spark-shell, आदि) और conf(के साथ spark-defaults.conf, spark-env.shआदि)
    • PYTHONPATH- यह होना चाहिए $SPARK_HOME/pythonऔर वैकल्पिक रूप से $SPARK_HOME/python/lib/py4j-some-version.src.zipअन्यथा उपलब्ध नहीं है। some-versionकिसी दिए गए स्पार्क इंस्टॉलेशन (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) द्वारा उपयोग किए जाने वाले Py4J संस्करण से मेल खाना चाहिए )

      यहाँ छवि विवरण दर्ज करें

  5. सेटिंग्स लागू करें

व्याख्याकार पथ में PySpark पुस्तकालय जोड़ें (कोड पूरा करने के लिए आवश्यक) :

  1. फाइल पर जाएं -> सेटिंग्स -> प्रोजेक्ट इंटरप्रेटर
  2. एक दुभाषिया के लिए खुली सेटिंग्स जिसे आप स्पार्क के साथ उपयोग करना चाहते हैं
  3. दुभाषिया पथों को संपादित करें ताकि इसमें पथ हो $SPARK_HOME/python(यदि आवश्यक हो तो एक Py4J)
  4. सेटिंग्स सहेजें

वैकल्पिक रूप से

  1. बेहतर पूर्णता और स्थैतिक त्रुटि का पता लगाने के लिए स्थापित स्पार्क संस्करण से मेल खाते पथ प्रकार एनोटेशन को स्थापित करें या जोड़ें (अस्वीकरण - मैं परियोजना का लेखक हूं)।

आखिरकार

अपनी स्क्रिप्ट चलाने के लिए नए बनाए गए कॉन्फ़िगरेशन का उपयोग करें।


9
BTW, यह है कि आप इंटरप्रेटर पाथ को कैसे संपादित कर रहे हैं, कम से कम PyCharm 2016 में: jetbrains.com/help/pycharm/2016.1/… "चुने हुए दुभाषिया के लिए पथ दिखाएं" बटन का चयन करें
AlonL

3
PyCharm के मैक संस्करण (v-2017.2) पर, प्रोजेक्ट इंटरप्रेटर प्राथमिकता के अधीन है ... फ़ाइल / सेटिंग्स के
रैंडम निश्चितता

1
विकल्प 1 के साथ, आप स्पार्क जार / पैकेज कैसे जोड़ते हैं? उदाहरण के लिए, मुझे com.databricks की आवश्यकता है: स्पार्क- redshift_2.10: 3.0.0-प्रीव्यू 1
lfk

@lfk विन्यास फाइल के माध्यम से ( spark-defaults.conf) या सबमिट आर्ग्स के माध्यम से - ज्यूपिटर नोटबुक के समान । यदि आप इस विकल्प को पसंद करते हैं, तो सबमिट कोड को कोड के बजाय PyCharm के पर्यावरण चर में परिभाषित किया जा सकता है।
10465355

38

यहाँ है कि मैं इसे मैक ओएसएक्स पर कैसे हल करता हूं।

  1. brew install apache-spark
  2. इसे ~ / .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. सामग्री रूट में pyspark और py4j जोड़ें (सही स्पार्क संस्करण का उपयोग करें):

    /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
    

यहाँ छवि विवरण दर्ज करें


pycharm का कौन सा संस्करण है? मैं 2016.1 समुदाय संस्करण पर हूं और मुझे यह विंडो दिखाई नहीं दे रही है।
रवींद्रब

2016.1 ऑक्स पर इम लेकिन यह समान होना चाहिए। Pre प्राथमिकताएं ’के तहत जाएं। बाईं ओर अपने प्रोजेक्ट पर क्लिक करें।
स्टंप्स

धन्यवाद। इससे मुझे IntelliJ IDEA पर मदद मिली, जिसमें प्रोजेक्ट इंटरप्रेटर सेटिंग नहीं है।
OneCricketeer

क्या आप बता सकते हैं कि सामग्री रूट में क्या जोड़ना है? मुझे ऐसा करने की आवश्यकता नहीं थी ... मैंने सिर्फ $SPARK_HOME/pythonइंटरप्रेटर क्लासपाथ में रखा और पर्यावरण चर को जोड़ा और यह उम्मीद के मुताबिक काम करता है।
OneCricketeer

@ क्रिकेट_007 द 3 पॉइंट: Add pyspark and py4j to content root (use the correct Spark version)ने मुझे कोड पूरा करने में मदद की। प्रोजेक्ट इंटरप्रेटर बदलकर आपने इसे कैसे किया?
अजीत शाह

13

यहाँ सेटअप है जो मेरे लिए काम करता है (Win7 64bit, PyCharm2017.3CE)

इन्टेलिसेंस सेट करें:

  1. फ़ाइल -> सेटिंग्स -> परियोजना: -> परियोजना व्याख्याकार पर क्लिक करें

  2. प्रोजेक्ट इंटरप्रेटर ड्रॉपडाउन के दाईं ओर गियर आइकन पर क्लिक करें

  3. संदर्भ मेनू से और ... पर क्लिक करें

  4. दुभाषिया चुनें, फिर "पथ दिखाएं" आइकन पर क्लिक करें (नीचे दाएं)

  5. निम्नलिखित पथ जोड़ने + आइकन दो पर क्लिक करें:

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

    \ bin \ python \ lib \ pyspark.zip

  6. ओके, ओके, ओके पर क्लिक करें

आगे बढ़ो और अपनी नई अंतर्मुखी क्षमताओं का परीक्षण करें।


1
बहुत जरूरी जवाब :)
रोहित निम्मला

5

Pycpark को विंडोज़ में कॉन्फ़िगर करें (विंडोज़)

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

सुनिश्चित करें कि SPARK_HOME विंडोज़ वातावरण में सेट है, वहाँ से pycharm ले जाएगा। पुष्टि करने के लिए :

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

वैकल्पिक रूप से SPARK_CONF_DIR को पर्यावरण चर में सेट करें।


4

मैंने निम्नलिखित पृष्ठ को एक संदर्भ के रूप में इस्तेमाल किया और PyCharm 5 में आयातित pyspark / Spark 1.6.1 (होमब्रे के माध्यम से स्थापित) प्राप्त करने में सक्षम था।

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)

उपरोक्त के साथ, pyspark लोड होता है, लेकिन मुझे एक स्पार्ककनेक्ट बनाने की कोशिश करने पर गेटवे की त्रुटि मिलती है। होमब्रेक से स्पार्क के साथ कुछ समस्या है, इसलिए मैंने स्पार्क वेबसाइट से स्पार्क को पकड़ लिया (डाउनलोड Hadoop 2.6 और बाद के लिए पूर्व-निर्मित डाउनलोड करें) और इसके तहत स्पार्क और py4j निर्देशिका को इंगित करें। यहाँ pycharm में कोड काम करता है!

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())

मुझे इन निर्देशों से बहुत मदद मिली, जिससे मुझे PyDev में समस्या निवारण में मदद मिली और फिर इसे PyCharm काम कर रहा था - https://enahwe.wordpress.com/2015/11/25/how-to-configure-eclipse-for-developing -साथ-अजगर और चिंगारी-पर-हडूप /

मुझे यकीन है कि किसी ने इस काम को पाने की कोशिश कर रहे अपने मॉनिटर के खिलाफ कुछ घंटे बिताए हैं, इसलिए उम्मीद है कि यह उनकी पवित्रता को बचाने में मदद करेगा!


2

मैं condaअपने पायथन पैकेजों का प्रबंधन करने के लिए उपयोग करता हूं। तो मैं PyCharm के बाहर एक टर्मिनल में था:

conda install pyspark

या, यदि आप पहले वाला संस्करण चाहते हैं, तो 2.2.0 कहें, फिर करें:

conda install pyspark=2.2.0

यह स्वचालित रूप से py4j में भी खींचती है। PyCharm ने अब शिकायत नहीं की import pyspark...और कोड पूरा होने पर भी काम किया। ध्यान दें कि मेरे PyCharm प्रोजेक्ट को पहले से ही एनाकोंडा के साथ आने वाले Python दुभाषिया का उपयोग करने के लिए कॉन्फ़िगर किया गया था।


1

की जाँच करें इस वीडियो को।

मान लें कि आपकी चिंगारी अजगर निर्देशिका है: /home/user/spark/python

मान लें कि आपका Py4j स्रोत है: /home/user/spark/python/lib/py4j-0.9-src.zip

मूल रूप से आप स्पार्क अजगर निर्देशिका और py4j निर्देशिका को दुभाषिया पथों के भीतर जोड़ते हैं। स्क्रीनशॉट पोस्ट करने के लिए मेरे पास पर्याप्त प्रतिष्ठा नहीं है या मैं करूँगा।

वीडियो में, उपयोगकर्ता pycharm के भीतर एक आभासी वातावरण बनाता है, हालांकि, आप pycharm के बाहर आभासी वातावरण बना सकते हैं या पहले से मौजूद आभासी वातावरण को सक्रिय कर सकते हैं, फिर इसके साथ pycharm शुरू करें और उन मार्गों को आभासी वातावरण से जोड़ दें Pycharm के भीतर।

मैंने बैश वातावरण चर के माध्यम से स्पार्क जोड़ने के लिए अन्य तरीकों का इस्तेमाल किया, जो कि pycharm के बाहर बहुत अच्छा काम करता है, लेकिन किसी कारण से उन्हें pycharm के भीतर मान्यता प्राप्त नहीं थी, लेकिन इस विधि ने पूरी तरह से काम किया।


@ml_student मैं यह भी उल्लेख करूंगा कि यदि आप वीडियो विधि का पालन करते हैं (जो कि इसकी गति और आसानी के लिए मेरी सिफारिश होगी) तो आपको SparkContextअपनी स्क्रिप्ट की शुरुआत में भी किसी वस्तु को तुरंत भेजना होगा । मैं इसे नोट करता हूं क्योंकि कमांड लाइन के माध्यम से इंटरैक्टिव pyspark कंसोल का उपयोग करना स्वचालित रूप से आपके लिए संदर्भ बनाता है, जबकि PyCharm में, आपको खुद का ख्याल रखना होगा; वाक्यविन्यास होगा:sc = SparkContext()
जेसन वोलोसोनोविच

1

IDE या Python लॉन्च करने से पहले आपको PYTHONPATH, SPARK_HOME सेटअप करना होगा।

विंडोज, पर्यावरण चर को संपादित, स्पार्क अजगर और py4j में जोड़ा

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

यूनिक्स,

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

1

सबसे सरल तरीका है प्रोजेक्ट इंटरप्रेटर के माध्यम से PySpark को स्थापित करना।

  1. फाइल - सेटिंग्स - प्रोजेक्ट - प्रोजेक्ट इंटरप्रेटर पर जाएं
  2. ऊपर दाईं ओर स्थित + आइकन पर क्लिक करें।
  3. PySpark और उन अन्य पैकेजों के लिए खोजें जिन्हें आप इंस्टॉल करना चाहते हैं
  4. अंत में इंस्टॉल पैकेज पर क्लिक करें
  5. हॊ गया!!

0

से प्रलेखन :

पायथन में स्पार्क एप्लिकेशन चलाने के लिए, स्पार्क डायरेक्टरी में स्थित बिन / स्पार्क-सबमिट स्क्रिप्ट का उपयोग करें। यह स्क्रिप्ट स्पार्क के जावा / स्काला लाइब्रेरी को लोड करेगी और आपको एक क्लस्टर में एप्लिकेशन सबमिट करने की अनुमति देगी। आप एक इंटरैक्टिव पायथन शेल को लॉन्च करने के लिए बिन / पिसपार्क का उपयोग भी कर सकते हैं।

आप अपनी स्क्रिप्ट को सीधे CPython दुभाषिया के साथ लागू कर रहे हैं, जो मुझे लगता है कि समस्याएं पैदा कर रहा है।

इसके साथ अपनी स्क्रिप्ट चलाने का प्रयास करें:

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

यदि वह काम करता है, तो आपको प्रोजेक्ट के दुभाषिए को स्पार्क-सबमिट करने के लिए PyCharm में काम करने में सक्षम होना चाहिए।


आपको प्रोजेक्ट के दुभाषिए को स्पार्क-सबमिट करने की कोशिश करके इसे PyCharm में काम करने में सक्षम होना चाहिए - इसे आज़माया। "चयनित फ़ाइल पायथन एसडीके के लिए एक वैध घर नहीं है"। उसी के लिएbin/pyspark
OneCricketeer

0

मैंने ऑन-लाइन ट्यूटोरियल का अनुसरण किया और env चर को .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

मुझे तब SPARK_HOME और PYTHONPATH में 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/:

फिर मैंने इसे स्क्रिप्ट के रन / डिबग कॉन्फ़िगरेशन -> पर्यावरण चर में कॉपी किया।


0

मैंने अजगर और चिंगारी को जोड़ने के लिए pycharm का इस्तेमाल किया। मेरे पास अपने पीसी में जावा और स्पार्क पूर्व-स्थापित था।

ये मेरे द्वारा अनुसरण किए गए चरण हैं

  1. नया प्रोजेक्ट बनाएं

  2. नई परियोजना के लिए सेटिंग्स में -> मैंने अपने अजगर के रूप में Python3.7 (venv) का चयन किया। यह मेरे नए प्रोजेक्ट के अंदर वेव फोल्डर में मौजूद python.exe फाइल है। आप अपने पीसी में उपलब्ध किसी भी अजगर को दे सकते हैं।

  3. सेटिंग्स में -> प्रोजेक्ट संरचना -> Content_Root जोड़ें

    मैंने स्पार्क की निर्देशिका के रूप में दो ज़िप फ़ोल्डर जोड़े

    1. C: \ Users \ USER \ sparking-3.0.0-preview2-bin-hadoop2.7 \ python \ lib \ py4j-0.10.8.1-src.zip
    2. C: \ Users \ USER \ sparking-3.0.0-preview2-bin-hadoop2.7 \ python \ lib \ pyspark.zip
  4. नई परियोजना के अंदर एक अजगर फ़ाइल बनाएँ। फिर एडिट कॉन्फ़िगरेशन (ऊपरी दाईं ओर ड्रॉपडाउन) में जाएं और पर्यावरण चर का चयन करें

  5. मैंने नीचे के पर्यावरण चर का उपयोग किया और यह मेरे लिए ठीक काम किया

    1. PYTHONUNBUFFERED १
    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

    आप इसके अतिरिक्त winutils.exe डाउनलोड कर सकते हैं और इसे पथ C: \ Users \ USER \ winutils/ बिन में रख सकते हैं

  6. एडिट कंफिगरेशन -> टेम्प्लेट के अंदर एक ही पर्यावरण चर दें

  7. सेटिंग्स पर जाएं -> प्रोजेक्ट इंटरप्रेटर -> आयात pyspark

  8. अपना पहला pyspark कार्यक्रम चलाएं!


0

यह ट्यूटोरियल pyspark_xray से , एक उपकरण जो PyCharm पर pyspark कोड को डीबग करने में सक्षम बनाता है, आपके प्रश्न का उत्तर दे सकता है। यह विंडोज और मैक दोनों को कवर करता है।

तैयारी

  • कमांड लाइन खोलें, कमांड को किक करें java, अगर आपको कोई त्रुटि मिलती है, तो जावा डाउनलोड और इंस्टॉल करें (वर्जन 1.8.0_221 अप्रैल 2020 तक)
  • यदि आपके पास यह नहीं है, तो PyCharm सामुदायिक संस्करण को डाउनलोड और इंस्टॉल करें (अप्रैल 2020 तक संस्करण 2020.1)
  • यदि आपके पास यह नहीं है, तो एनाकोंडा पायथन 3.7 रनटाइम को डाउनलोड और इंस्टॉल करें
  • अप्रैल 2017 तक अपाचे Hadoop (स्पार्क-2.4.5-बिन-हडूप 2.7, 200 + एमबी आकार) के लिए स्पार्क नवीनतम डाउनलोड और इंस्टॉल करें।
    • विंडोज :
      • यदि आपके पास अनज़िप टूल नहीं है, तो कृपया जिप / अनज़िप फ़ाइलों के लिए एक मुफ़्त टूल 7zip डाउनलोड और इंस्टॉल करें
      • स्पार्क tgz फ़ाइल की सामग्री को c: \ spark-xxx-bin-hadoopx.x फ़ोल्डर में निकालें
      • इस ट्यूटोरियल में चरणों का पालन करें
        • फ़ोल्डर winutils.exeमें स्थापित करें c:\spark-x.x.x-bin-hadoopx.x\bin, इस निष्पादन योग्य के बिना, आप इंजन आउटपुट लिखते समय त्रुटि में चलेंगे
    • मैक :
      • स्पार्क्स tgz फ़ाइल की सामग्री को \ Users [USERNAME] \ स्पार्क-xxx-bin-hadoopx.x फ़ोल्डर में निकालें
  • द्वारा pyspark स्थापित करें pip install pysparkयाconda install pyspark

कॉन्फ़िगरेशन चलाएँ

आप आदेश जारी करके कमांड लाइन से क्लस्टर पर स्पार्क एप्लिकेशन चलाते हैं spark-submitजो क्लस्टर में स्पार्क जॉब जमा करते हैं। लेकिन एक स्थानीय लैपटॉप या पीसी पर PyCharm या अन्य IDE से, spark-submitस्पार्क नौकरी को बंद करने के लिए इस्तेमाल नहीं किया जा सकता है। इसके बजाय, PyCharm पर pyspark_xray के Demo_app के रन कॉन्फ़िगरेशन को सेट करने के लिए इन चरणों का पालन करें

  • पर्यावरण चर सेट करें:
    • सेट HADOOP_HOMEमान करेंC:\spark-2.4.5-bin-hadoop2.7
    • के लिए SPARK_HOMEमान सेट करेंC:\spark-2.4.5-bin-hadoop2.7
  • क्लोन करने के लिए Github डेस्कटॉप या अन्य गिट टूल्स का उपयोग करें pyspark_xray Github से
  • PyCharm> प्रोजेक्ट के रूप में pyspark_xray खोलें
  • PyCharm खोलें> चलाएँ> कॉन्फ़िगरेशन संपादित करें> डिफ़ॉल्ट> पायथन और निम्न मान दर्ज करें:
    • पर्यावरण चर (विंडोज):PYTHONUNBUFFERED=1;PYSPARK_PYTHON=python;PYTHONPATH=$SPARK_HOME/python;PYSPARK_SUBMIT_ARGS=pyspark-shell;
  • ओपन PyCharm> रन> कॉन्फ़िगरेशन संपादित करें, एक नया पायथन कॉन्फ़िगरेशन बनाएं, स्क्रिप्ट को driver.pypyspark_xray> Demo_app के पथ पर इंगित करें

ड्राइवर-रन-कॉन्फ़िगर


-1

सबसे आसान तरीका है

अपने एनाकोंडा / पायथन इंस्टॉलेशन के साइट-पैकेज फ़ोल्डर पर जाएं, वहां pyspark और pyspark.egg-info फ़ोल्डरों को कॉपी पेस्ट करें ।

सूचकांक को अपडेट करने के लिए pycharm को पुनरारंभ करें। उपर्युक्त दो फ़ोल्डर आपके स्पार्क इंस्टॉलेशन के स्पार्क / पाइथन फ़ोल्डर में मौजूद हैं। इस तरह आपको pycharm से भी कोड पूरा करने के सुझाव मिलेंगे।

साइट-पैकेज आसानी से आपके पायथन इंस्टॉलेशन में मिल सकते हैं। एनाकोंडा में इसकी एनाकोंडा / लिब / pythonx.x / साइट-पैकेज के तहत


इस तरह से pycharm अपने एक और परिवाद पर विचार करेगा।
एचएस राठौर

-1

मैंने प्रोजेक्ट इंटरप्रेटर मेनू के माध्यम से pyspark मॉड्यूल को जोड़ने की कोशिश की, लेकिन पर्याप्त नहीं था ... कई सिस्टम वातावरण चर हैं जिन्हें स्थानीय डेटा फ़ाइलों को पढ़ने के SPARK_HOMEलिए सेट और पथ की आवश्यकता होती है /hadoop/bin/winutils.exe। आपको सिस्टम वातावरण चर में उपलब्ध पायथन, JRE, JDK के सही संस्करणों का उपयोग करने की भी आवश्यकता है PATH। बहुत जाने के बाद, इन वीडियो में निर्देशों ने काम किया

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.