사용자 도구

사이트 도구


spark

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
다음 판
이전 판
spark [2016/08/17 09:03] – [MongoDB와 연동] rex8312spark [2024/03/23 02:38] (현재) – 바깥 편집 127.0.0.1
줄 11: 줄 11:
   http://www.scala-sbt.org/download.html   http://www.scala-sbt.org/download.html
  
-다운로드+spark 다운로드 및 압축 해제
  
   http://d3kbcqa49mib13.cloudfront.net/spark-2.0.0-bin-hadoop2.7.tgz   http://d3kbcqa49mib13.cloudfront.net/spark-2.0.0-bin-hadoop2.7.tgz
      
-.bashrc에 추가+hadoop 다운로드 및 압축 해제
  
-  export SPARK_HOME=/usr/local/src/spark-2.0.0-bin-without-hadoop+  http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.1/hadoop-2.7.1.tar.gz 
 +   
 +   
 +.bashrc에 추가 
 +   
 +  # JAVA_HOME, HADOOP_HOME, SPARK_HOME,  
 +   
 +  export JAVA_HOME=/usr/lib/jvm/java-8-oracle 
 +  export HADOOP_HOME=/usr/local/src/hadoop-2.7.1 
 +  export PATH=$HADOOP_HOME/bin:$PATH 
 +  export SPARK_DIST_CLASSPATH=$(hadoop classpath) 
 +  export SPARK_HOME=/usr/local/src/spark-2.0.0-bin-hadoop2.7
   export PATH=$SPARK_HOME/bin:$PATH   export PATH=$SPARK_HOME/bin:$PATH
 +  export SPARK_LOCAL_IP={ip address}
 +  export LD_LIBRARY_PATH=$HADOOP_HOME/lib/native/:$LD_LIBRARY_PATH
      
 테스트 테스트
줄 42: 줄 55:
  
   export PYSPARK_DRIVER_PYTHON=ipython   export PYSPARK_DRIVER_PYTHON=ipython
-  #export PARK_DRIVER_PYTHON_OPTS='qtconsole'+  #export PYSPARK_DRIVER_PYTHON_OPTS=qtconsole 
 + 
 +===== Spyder와 연동 ===== 
 + 
 +.bashrc에 추가 
 + 
 +  export PYTHONPATH=$SPARK_HOME/python/:$PYTHONPATH 
 +  export PYTHONPATH=$SPARK_HOME/python/lib/py4j-0.10.1-src.zip:$PYTHONPATH 
 +     
 +spyder.py 파일 생성 
 + 
 +  cp /usr/bin/spyder /usr/bin/spyder.py 
 +     
 +spark로 spyder 시작 
 + 
 +  spark-submit /usr/bin/spyder.py 
 +   
 +   
 +spark 세션 시작 
 + 
 +<code python> 
 +from pyspark.sql import SparkSession 
 + 
 +spark = SparkSession\ 
 +    .builder\ 
 +    .appName("PythonSQL")\ 
 +    .config("spark.some.config.option", "some-value")\ 
 +    .getOrCreate() 
 +</code> 
 + 
 +====== ipython notebook 연동 ====== 
 + 
 +Linux  
 + 
 +  PYSPARK_DRIVER_PYTHON_OPTS=notebook pyspark 
 + 
 +Windows 
 + 
 +  set PYSPARK_DRIVER_PYTHON_OPTS=notebook 
 +  pyspark 
 + 
 + 
 +프로필 생성 
 + 
 +  ipython profile create pyspark 
 +   
 +~/.ipython/profile_pyspark/startup/00-pyspark-setup.py 생성 
 + 
 +<code python 00-pyspark-setup.py> 
 +# Configure the necessary Spark environment 
 +import os 
 +import sys 
 + 
 +spark_home = os.environ.get('SPARK_HOME', None) 
 +sys.path.insert(0, spark_home + "/python"
 + 
 +# Add the py4j to the path. 
 +# You may need to change the version number to match your install 
 +sys.path.insert(0, os.path.join(spark_home, 'python/lib/py4j-0.10.1-src.zip')) 
 + 
 +# Initialize PySpark to predefine the SparkContext variable 'sc' 
 +# execfile(os.path.join(spark_home, 'python/pyspark/shell.py'))  # py27 
 +exec(open(os.path.join(spark_home, 'python/pyspark/shell.py')).read())  # py35 
 +</code> 
 + 
 +실행 
 + 
 +  ipython notebook --profile=pyspark 
 +  # jupyter notebook --profile=pyspark 
 + 
 + 
 +===== Cluster 설정 ===== 
 + 
 +  - 마스터와 슬레이브에 spark 설정  
 +  - 마스터에서 슬레이브로 암호없이 ssh 연결 가능하도록 설정 
 +  - /etc/hosts 파일 수정 후 재부팅 
 +    - 127.0.1.1 주석 처리, 슬레이브에서 마스터로 연결 거부 될 수 있음 
 +    - 각 호스트의 주소와 이름을 입력 
 +    - 연결이 거부될 경우 telnet {master ip} 7077로 연결 테스트 할 수 있음 
 + 
 +클러스터 시작 및 종료 
 + 
 +  $SPARK_HOME/sbin/start-all.sh  
 +  $SPARK_HOME/sbin/stop-all.sh  
 +   
 + 
 +  - 클러스터 상태 페이지: http://localhost:8080 
 +    - 성공적으로 클러스터가 실행중이라면, 모든 슬레이브의 상태가 나타남 
 +    - http://localhost:8080으로 클러스터 상태 페이지에 접속 불가능할 경우 .bashrc 의 SPARK_LOCAL_IP를 127.0.0.1으로 설정 
 +   
 +클러스터에 접속 
 + 
 +  pyspark --master spark://{master ip}:7077 
 +   
 +  
  
spark.1471424594.txt.gz · 마지막으로 수정됨: 2024/03/23 02:37 (바깥 편집)