[PYTHON] 파이썬 셸에서 pyspark 가져 오기
PYTHON파이썬 셸에서 pyspark 가져 오기
이것은 다른 포럼에서 다른 사람의 질문에 대한 답변을 한 적이 없기 때문에 같은 문제가 있기 때문에 여기에서 다시 물어볼 것이라고 생각했습니다. (http://geekple.com/blogs/feeds/Xgzu7/posts/351703064084736 참조)
나는 내 컴퓨터에 Spark를 제대로 설치했고 Python 인터프리터로 ./bin/pyspark를 사용할 때 오류없이 pyspark 모듈로 파이썬 프로그램을 실행할 수있다.
그러나 일반적인 파이썬 셸을 실행할 때 pyspark 모듈을 가져 오려고하면이 오류가 발생합니다.
from pyspark import SparkContext
그리고 그것은 말한다
"No module named pyspark".
이 문제를 어떻게 해결할 수 있습니까? 파이썬이 pyspark 헤더 / 라이브러리 / 등을 가리 키도록 설정해야하는 환경 변수가 있습니까? 내 스파크 설치가 / spark / 인 경우 어떤 pyspark 경로에 포함시켜야합니까? 또는 pyspark 인터프리터에서만 실행할 수있는 프로그램을 pyspark 할 수 있습니까?
해결법
-
==============================
1.간단한 방법입니다 (만약 당신이 어떻게 작동하는지 귀찮게하지 마십시오 !!!).
간단한 방법입니다 (만약 당신이 어떻게 작동하는지 귀찮게하지 마십시오 !!!).
-
==============================
2.이러한 오류를 인쇄하는 경우 :
이러한 오류를 인쇄하는 경우 :
PYTHONPATH에 $ SPARK_HOME / python / build를 추가하십시오 :
export SPARK_HOME=/Users/pzhang/apps/spark-1.1.0-bin-hadoop2.4 export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/build:$PYTHONPATH
-
==============================
3.pyspark bin이 LOADING python이고 올바른 라이브러리 경로를 자동으로로드하고 있음을 알 수 있습니다. $ SPARK_HOME / bin / pyspark를 확인하십시오.
pyspark bin이 LOADING python이고 올바른 라이브러리 경로를 자동으로로드하고 있음을 알 수 있습니다. $ SPARK_HOME / bin / pyspark를 확인하십시오.
# Add the PySpark classes to the Python path: export PYTHONPATH=$SPARK_HOME/python/:$PYTHONPATH
이 줄을 .bashrc 파일에 추가 했으므로 이제 모듈을 올바르게 찾을 수 있습니다!
-
==============================
4.SPARK 경로와 Py4j 경로를 내보내고 작업을 시작했습니다.
SPARK 경로와 Py4j 경로를 내보내고 작업을 시작했습니다.
export SPARK_HOME=/usr/local/Cellar/apache-spark/1.5.1 export PYTHONPATH=$SPARK_HOME/libexec/python:$SPARK_HOME/libexec/python/build:$PYTHONPATH PYTHONPATH=$SPARK_HOME/python/lib/py4j-0.8.2.1-src.zip:$PYTHONPATH export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/build:$PYTHONPATH
따라서, 파이썬 쉘을 시작하려고 할 때마다 이들을 타이핑하지 않으려면 .bashrc 파일에 추가하고 싶을 수도 있습니다
-
==============================
5.py 파일을 다음과 같이 실행하지 마십시오 : python filename.py 대신 다음을 사용하십시오 : spark-submit filename.py
py 파일을 다음과 같이 실행하지 마십시오 : python filename.py 대신 다음을 사용하십시오 : spark-submit filename.py
-
==============================
6.Mac에서는 Homebrew를 사용하여 Spark (수식 "apache-spark")을 설치합니다. 그런 다음 Python 가져 오기가 작동하도록이 방법으로 PYTHONPATH를 설정합니다.
Mac에서는 Homebrew를 사용하여 Spark (수식 "apache-spark")을 설치합니다. 그런 다음 Python 가져 오기가 작동하도록이 방법으로 PYTHONPATH를 설정합니다.
export SPARK_HOME=/usr/local/Cellar/apache-spark/1.2.0 export PYTHONPATH=$SPARK_HOME/libexec/python:$SPARK_HOME/libexec/python/build:$PYTHONPATH
"1.2.0"을 Mac의 실제 apache-spark 버전으로 바꿉니다.
-
==============================
7.pyspark에서 Spark를 실행하려면 두 가지 구성 요소가 함께 작동해야합니다.
pyspark에서 Spark를 실행하려면 두 가지 구성 요소가 함께 작동해야합니다.
spark-submit 또는 pyspark를 사용하여 작업을 시작하면이 스크립트는 PYTHONPATH, PATH 등을 설정하여 스크립트가 pyspark를 찾을 수있게하고 sparm 인스턴스를 시작하여 매개 변수에 따라 구성합니다 , 예. - 마스터 X
또는이 스크립트를 건너 뛰고 스파크 응용 프로그램을 python 인터프리터 (python myscript.py)에서 직접 실행할 수도 있습니다. 이것은 spark 스크립트가 더 복잡해지기 시작하고 결국 자신의 arg를 받기 시작할 때 특히 흥미 롭습니다.
따라서 스크립트에는 다음과 같은 내용이있을 수 있습니다.
from pyspark.sql import SparkSession if __name__ == "__main__": if spark_main_opts: # Set main options, e.g. "--master local[4]" os.environ['PYSPARK_SUBMIT_ARGS'] = spark_main_opts + " pyspark-shell" # Set spark config spark = (SparkSession.builder .config("spark.checkpoint.compress", True) .config("spark.jars.packages", "graphframes:graphframes:0.5.0-spark2.1-s_2.11") .getOrCreate())
-
==============================
8.ImportError 제거하기 : py4j.java_gateway라는 이름의 모듈이 없다면, 다음과 같은 줄을 추가해야합니다.
ImportError 제거하기 : py4j.java_gateway라는 이름의 모듈이 없다면, 다음과 같은 줄을 추가해야합니다.
import os import sys os.environ['SPARK_HOME'] = "D:\python\spark-1.4.1-bin-hadoop2.4" sys.path.append("D:\python\spark-1.4.1-bin-hadoop2.4\python") sys.path.append("D:\python\spark-1.4.1-bin-hadoop2.4\python\lib\py4j-0.8.2.1-src.zip") try: from pyspark import SparkContext from pyspark import SparkConf print ("success") except ImportError as e: print ("error importing spark modules", e) sys.exit(1)
-
==============================
9.Windows 10에서는 다음 작업이 저에게 효과적이었습니다. 설정> 환경 변수 편집을 사용하여 다음 환경 변수를 추가했습니다.
Windows 10에서는 다음 작업이 저에게 효과적이었습니다. 설정> 환경 변수 편집을 사용하여 다음 환경 변수를 추가했습니다.
SPARK_HOME=C:\Programming\spark-2.0.1-bin-hadoop2.7 PYTHONPATH=%SPARK_HOME%\python;%PYTHONPATH%
( "C : \ Programming \ ..."을 spark을 설치 한 폴더로 변경하십시오)
-
==============================
10.Linux 사용자의 경우 다음은 PYTHONPATH에 pyspark libaray를 포함하는 올바른 (하드 코딩되지 않은) 방법입니다. 두 PATH 파트가 필요합니다.
Linux 사용자의 경우 다음은 PYTHONPATH에 pyspark libaray를 포함하는 올바른 (하드 코딩되지 않은) 방법입니다. 두 PATH 파트가 필요합니다.
아래에서 zip 라이브러리 버전은 동적으로 결정되므로 하드 코딩하지 마십시오.
export PYTHONPATH=${SPARK_HOME}/python/:$(echo ${SPARK_HOME}/python/lib/py4j-*-src.zip):${PYTHONPATH}
-
==============================
11.CentOS VM에서 cloudera yum 패키지로 설치 한 스파크 클러스터를 실행 중입니다.
CentOS VM에서 cloudera yum 패키지로 설치 한 스파크 클러스터를 실행 중입니다.
pyspark를 실행하기 위해 다음 변수를 설정해야했습니다.
export SPARK_HOME=/usr/lib/spark; export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.9-src.zip:$PYTHONPATH
-
==============================
12.
export PYSPARK_PYTHON=/home/user/anaconda3/bin/python export PYSPARK_DRIVER_PYTHON=jupyter export PYSPARK_DRIVER_PYTHON_OPTS='notebook'
이것이 Spark과 함께 Anaconda 배포판을 사용했을 때했던 것입니다. 이것은 스파크 버전과 무관합니다. 첫 번째 줄은 사용자의 파이썬 빈으로 바꿀 수 있습니다. 또한, Spark 2.2.0부터 PySpark는 PyPi에서 독립 실행 형 패키지로 사용할 수 있습니다. 그러나 나는 아직 그것을 시험하고있다.
-
==============================
13.나는 똑같은 문제가 있었다.
나는 똑같은 문제가 있었다.
또한 올바른 파이썬 버전을 사용하고 있는지 확인하고 오른쪽 pip 버전으로 설치하고 있습니다. 내 경우에는 : 나는 파이썬 2.7과 3.x를 모두 가지고 있었다. 나는 함께 pyspark를 설치했다.
pip2.7 설치 pyspark
그리고 효과가있었습니다.
-
==============================
14.제출하려고하는 파이썬 스크립트가 pyspark.py (facepalm)라고 불리기 때문에이 오류가 발생했습니다. 수정 사항은 위의 권장대로 PYTHONPATH를 설정 한 다음 스크립트의 이름을 pyspark_test.py로 변경하고 스크립트 원본 이름을 기반으로 작성된 pyspark.pyc를 정리하고이 오류를 해결했습니다.
제출하려고하는 파이썬 스크립트가 pyspark.py (facepalm)라고 불리기 때문에이 오류가 발생했습니다. 수정 사항은 위의 권장대로 PYTHONPATH를 설정 한 다음 스크립트의 이름을 pyspark_test.py로 변경하고 스크립트 원본 이름을 기반으로 작성된 pyspark.pyc를 정리하고이 오류를 해결했습니다.
-
==============================
15.나는이 같은 문제가 있었고 위의 제안 된 솔루션에 한 가지를 추가 할 것입니다. Mac OS X에서 Homebrew를 사용하여 Spark을 설치할 때 경로에 libexec를 포함 시키려면 py4j 경로 주소를 수정해야합니다 (py4j 버전을 가지고있는 것으로 변경하는 것을 기억하십시오).
나는이 같은 문제가 있었고 위의 제안 된 솔루션에 한 가지를 추가 할 것입니다. Mac OS X에서 Homebrew를 사용하여 Spark을 설치할 때 경로에 libexec를 포함 시키려면 py4j 경로 주소를 수정해야합니다 (py4j 버전을 가지고있는 것으로 변경하는 것을 기억하십시오).
PYTHONPATH=$SPARK_HOME/libexec/python/lib/py4j-0.9-src.zip:$PYTHONPATH
-
==============================
16.DSE (DataStax Cassandra & Spark)의 경우, PYTHONPATH에 다음 위치를 추가해야합니다.
DSE (DataStax Cassandra & Spark)의 경우, PYTHONPATH에 다음 위치를 추가해야합니다.
export PYTHONPATH=/usr/share/dse/resources/spark/python:$PYTHONPATH
그런 다음 dse pyspark를 사용하여 경로의 모듈을 가져옵니다.
dse pyspark
from https://stackoverflow.com/questions/23256536/importing-pyspark-in-python-shell by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] _tkinter.TclError : 표시 이름 없음 및 $ DISPLAY 환경 변수 없음 (0) | 2018.10.09 |
---|---|
[PYTHON] 파이썬 목록의 값으로 .csv 파일 만들기 (0) | 2018.10.09 |
[PYTHON] 다중 처리로 전달 된 함수의 반환 값을 복구하는 방법은? (0) | 2018.10.09 |
[PYTHON] 파이썬 목록에서 두 항목의 위치를 전환하는 방법은 무엇입니까? (0) | 2018.10.09 |
[PYTHON] python : urllib2 urlopen 요청으로 쿠키를 보내는 방법 (0) | 2018.10.09 |