복붙노트

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

    1.간단한 방법입니다 (만약 당신이 어떻게 작동하는지 귀찮게하지 마십시오 !!!).

    간단한 방법입니다 (만약 당신이 어떻게 작동하는지 귀찮게하지 마십시오 !!!).

  2. ==============================

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

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

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

    5.py 파일을 다음과 같이 실행하지 마십시오 : python filename.py 대신 다음을 사용하십시오 : spark-submit filename.py

    py 파일을 다음과 같이 실행하지 마십시오 : python filename.py 대신 다음을 사용하십시오 : spark-submit filename.py

  6. ==============================

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

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

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

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

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

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

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

    13.나는 똑같은 문제가 있었다.

    나는 똑같은 문제가 있었다.

    또한 올바른 파이썬 버전을 사용하고 있는지 확인하고 오른쪽 pip 버전으로 설치하고 있습니다. 내 경우에는 : 나는 파이썬 2.7과 3.x를 모두 가지고 있었다. 나는 함께 pyspark를 설치했다.

    pip2.7 설치 pyspark

    그리고 효과가있었습니다.

  14. ==============================

    14.제출하려고하는 파이썬 스크립트가 pyspark.py (facepalm)라고 불리기 때문에이 오류가 발생했습니다. 수정 사항은 위의 권장대로 PYTHONPATH를 설정 한 다음 스크립트의 이름을 pyspark_test.py로 변경하고 스크립트 원본 이름을 기반으로 작성된 pyspark.pyc를 정리하고이 오류를 해결했습니다.

    제출하려고하는 파이썬 스크립트가 pyspark.py (facepalm)라고 불리기 때문에이 오류가 발생했습니다. 수정 사항은 위의 권장대로 PYTHONPATH를 설정 한 다음 스크립트의 이름을 pyspark_test.py로 변경하고 스크립트 원본 이름을 기반으로 작성된 pyspark.pyc를 정리하고이 오류를 해결했습니다.

  15. ==============================

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

    16.DSE (DataStax Cassandra & Spark)의 경우, PYTHONPATH에 다음 위치를 추가해야합니다.

    DSE (DataStax Cassandra & Spark)의 경우, PYTHONPATH에 다음 위치를 추가해야합니다.

    export PYTHONPATH=/usr/share/dse/resources/spark/python:$PYTHONPATH
    

    그런 다음 dse pyspark를 사용하여 경로의 모듈을 가져옵니다.

    dse pyspark
    
  17. from https://stackoverflow.com/questions/23256536/importing-pyspark-in-python-shell by cc-by-sa and MIT license