Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
what is spark
빅데이터 분석의 시초
GFS(Google File System) 논문(2003)
여러 컴퓨터를 연결하여 저장용량과 I/O성능을 Scale
이를 구현한 오픈소스 프로젝트 : Hadooop HDFS
MapReduce 논문(...
Hadoop
Hadoop 2
빅데이터 분석의 시초(2)
Hive
MapReduce 코드를 짜는 건 괴롭다.
쿼리로 MapReduce의 거의 모든 기능을 표현
HDFS등에 있는 파일을 읽어들여 쿼리로 분석 수행
HiveQL을 작성하면 MapReduc...
MapReduce/Hive 장단점
장점
빅데이터 시대를 열어준 선구적인 기술
거대한 데이터를 안정적으로 처리
많은 사람들이 사용중
단점
오래된 기술.
발전이 느림
불편한 점이 많음
MapReduce의 문제점
MapReduce는 Map의 입출력 및 Reduce의 입출력은 매번 HDFS에 쓰고 읽는다.
→ 느리다.
MapReduce 코드는 작성하기 불편하다.
→ 좀더 좋은 인터페이스가 필요
Spark
Apache Spark is a powerful open source processing engine buit around speed,
ease of use, and sophisticated analytics...
Spark
SPARK = RDD + Interface
why RDD need?
MapReduce의 약점
더 복잡하고, multi-stage한 처리
interactive하고 ad-hoc한 쿼리
위와 같은 부분을 해결하고자...
하드에 쓰는것 보단, 메모리에 쓰면 빠르겠다.
쿼리를 할때 마다 하드에서 읽어 오지 않고, 램에 올려 놓고 그 다음에 쿼리를 날리면 빠름.
RAM
RAM : Random Access Memory
Read/Write가 자유로움
→Read Only로 제한
→ 데이타 변환은 어떻게?
스파크 데이타 변환
RDD
Read only Memory +
DAG(데이타 변환 계보) +
Lazy Execution
→ fault-tolerant & efficient 한 RAM 저장소 생성
SPARK 확장
지원언어: scala, java, python,R
SLQ 연동 : Spark SQL
기계학습 : MLlib, GraphX
Spark 설치
다운로드 : http://spark.apache.org/
설치
윈도우 :http://hopers.tistory.com/entry/%EC%8A%A4%ED%8C%8C%ED%81%AC-
%EC%84%A4%EC...
Spark 설치 2
단순하게…
java 설치(없다면, 설치후 java_home 셋팅 필요)
stand alone mode
spark 배포판 다운로드(hadoop라이브러리가 있다면 하두 없는 버젼)
압축 풀고, 해당 경로...
Spark 설치3
cluster 모드
ssh key 배포
ssh-keygen 실행
master 컴퓨터의 ~/.ssh/id_rsa.pub 파일을 각각의 클라이언트 컴퓨터의 ~/.ssh/authorized_keys에 추가....
SPARK 실행
환경변수 설정
export SPARK_HOME={$SPARK_HOME}
cluster 모드
실행
{$SPARK_HOME}/sbin/start-all.sh
중지
{$SPARK_HOME}/sbin/stop-...
SPARK cluster mode
실행: {$SPARK_HOME}/bin/start.sh
web console : http://SPARK_MASTER:8080
ipython for Spark
ipython notebook에서 python spark를 이용해 보자.
1. 환경 설정
python 설치.(anaconda 같은 통합 패키지가 정신 건강
에 좋음^^)
2. 환경 변수 ...
scala ipython for SPARK
ipython에서 python으로 spark 쓰면 좋은데…
ipython에서 scala로 spark이용 가능할까?
→ https://github.com/tribbloid/ISp...
Zeppeline!
https://zeppelin.incubator.apache.org/
SPARK를 지원, 시각화/개발 도구.
설치 방법
http://www.slideshare.net/sangwookimme/zeppe...
개발 팁
spark rest job client
https://github.com/ywilkof/spark-jobs-rest-client
SPARK 서버는 내부적으로 REST Server를 내장.
이 REST Serve...
Upcoming SlideShare
Loading in …5
×

What is spark

155 views

Published on

introduce to spark..

Published in: Technology
  • Be the first to comment

  • Be the first to like this

What is spark

  1. 1. what is spark
  2. 2. 빅데이터 분석의 시초 GFS(Google File System) 논문(2003) 여러 컴퓨터를 연결하여 저장용량과 I/O성능을 Scale 이를 구현한 오픈소스 프로젝트 : Hadooop HDFS MapReduce 논문(2003) Map과 Reduce연산을 조합하여 클러스터에서 실행, 큰 데이터를 처리 이를 구현한 오픈소스 프로젝트 : Hadoop MapReduce
  3. 3. Hadoop
  4. 4. Hadoop 2
  5. 5. 빅데이터 분석의 시초(2) Hive MapReduce 코드를 짜는 건 괴롭다. 쿼리로 MapReduce의 거의 모든 기능을 표현 HDFS등에 있는 파일을 읽어들여 쿼리로 분석 수행 HiveQL을 작성하면 MapReduce 코드로 변환되어 실행
  6. 6. MapReduce/Hive 장단점 장점 빅데이터 시대를 열어준 선구적인 기술 거대한 데이터를 안정적으로 처리 많은 사람들이 사용중 단점 오래된 기술. 발전이 느림 불편한 점이 많음
  7. 7. MapReduce의 문제점 MapReduce는 Map의 입출력 및 Reduce의 입출력은 매번 HDFS에 쓰고 읽는다. → 느리다. MapReduce 코드는 작성하기 불편하다. → 좀더 좋은 인터페이스가 필요
  8. 8. Spark Apache Spark is a powerful open source processing engine buit around speed, ease of use, and sophisticated analytics. keywords open source processing engine speed ease of use sophisticated analytics
  9. 9. Spark SPARK = RDD + Interface why RDD need? MapReduce의 약점 더 복잡하고, multi-stage한 처리 interactive하고 ad-hoc한 쿼리 위와 같은 부분을 해결하고자 함
  10. 10. 하드에 쓰는것 보단, 메모리에 쓰면 빠르겠다.
  11. 11. 쿼리를 할때 마다 하드에서 읽어 오지 않고, 램에 올려 놓고 그 다음에 쿼리를 날리면 빠름.
  12. 12. RAM RAM : Random Access Memory Read/Write가 자유로움 →Read Only로 제한 → 데이타 변환은 어떻게?
  13. 13. 스파크 데이타 변환
  14. 14. RDD Read only Memory + DAG(데이타 변환 계보) + Lazy Execution → fault-tolerant & efficient 한 RAM 저장소 생성
  15. 15. SPARK 확장 지원언어: scala, java, python,R SLQ 연동 : Spark SQL 기계학습 : MLlib, GraphX
  16. 16. Spark 설치 다운로드 : http://spark.apache.org/ 설치 윈도우 :http://hopers.tistory.com/entry/%EC%8A%A4%ED%8C%8C%ED%81%AC- %EC%84%A4%EC%B9%98-on-windows azure : https://azure.microsoft.com/ko-kr/documentation/articles/hdinsight-apache-spark-zeppelin-notebook- jupyter-spark-sql/ linux : http://gorakgarak.tistory.com/374 mac : not support. ( oracle java 1.8 jni issue )
  17. 17. Spark 설치 2 단순하게… java 설치(없다면, 설치후 java_home 셋팅 필요) stand alone mode spark 배포판 다운로드(hadoop라이브러리가 있다면 하두 없는 버젼) 압축 풀고, 해당 경로의 conf로 이동. spark-env.sh.template 복사 spark-env.sh spark-env.sh 수정 “SPARK_MASTER_IP=localhost” 추가
  18. 18. Spark 설치3 cluster 모드 ssh key 배포 ssh-keygen 실행 master 컴퓨터의 ~/.ssh/id_rsa.pub 파일을 각각의 클라이언트 컴퓨터의 ~/.ssh/authorized_keys에 추가. spark 압축 해제 폴더에서 conf로 이동 클라이언트 설정 : slaves.template 복사 slaves, 노드를 구성하는 모든 컴퓨터의 ip입력. spark-env.sh.template 복사 spark-env.sh 다음 사항 설정 SPARK_MASTER_IP = master IP SPARK_MASTER_PORT = 7077 위의 모든 항목을 노드내의 모든 컴퓨터에 동일하게 설정.
  19. 19. SPARK 실행 환경변수 설정 export SPARK_HOME={$SPARK_HOME} cluster 모드 실행 {$SPARK_HOME}/sbin/start-all.sh 중지 {$SPARK_HOME}/sbin/stop-all.sh scala console 실행 {$SPARK_HOME}/bin/spark-shell.sh python console 실행 {$SPARK_HOME}/bin/pysaprk R console 실행 {$SPARK_HOME}/bin/sparkR
  20. 20. SPARK cluster mode 실행: {$SPARK_HOME}/bin/start.sh web console : http://SPARK_MASTER:8080
  21. 21. ipython for Spark ipython notebook에서 python spark를 이용해 보자. 1. 환경 설정 python 설치.(anaconda 같은 통합 패키지가 정신 건강 에 좋음^^) 2. 환경 변수 설정 export IPYTHON_OPTS=”notebook --notebook- dir=<notebook dir>” export PYSPARK_PYTHON=”<python binpath>/python” export PYSPARK_SUBMIT_ARGS=”--master spark://SPARK_MASTER_IP:PORT pyspark-shell” 3. 실행 ${SPARK_HOME}/bin/pyspark http://SPARK_MASTER_IP:8888/ 접속
  22. 22. scala ipython for SPARK ipython에서 python으로 spark 쓰면 좋은데… ipython에서 scala로 spark이용 가능할까? → https://github.com/tribbloid/ISpark 설정 방법 ipython에 kernel을 추가. .ipython/kernels/ispark 디렉토리를 추가, 우측 그림과 같이 설정
  23. 23. Zeppeline! https://zeppelin.incubator.apache.org/ SPARK를 지원, 시각화/개발 도구. 설치 방법 http://www.slideshare.net/sangwookimme/zeppelinspark- 41329473
  24. 24. 개발 팁 spark rest job client https://github.com/ywilkof/spark-jobs-rest-client SPARK 서버는 내부적으로 REST Server를 내장. 이 REST Server을 통해 spark 동작 시킴. 주요 설정 외부 jar 사용하기(주로 jdbc) driver 실행시 추가 : -Dspark.driver.extraClassPath = “jar 경로” executor 실행시 추가 : -Dspark.executor.extraClassPath=”jar 경로" core제한 -Dspark.cores.max=”max” -1 이 설정이 없을 경우 클라우드 모드에서 가용한 모든 코어를 투입 메모리 크기 설정 -Dspark.executor.memory=”memory size”

×