O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Apache Zeppelin
빅데이터분석을 위한 스파크2 프로그래밍
wikibook@wikibook.co.kr
+SparkR을 활용한
데이터 분석
을 활용한
데이터 분석
R
을 활용한
데이터 분석
R
■	의학, 제조, 교육, 금융 등
	 다양한 산업 분야에서 사용
■	머신러닝, 데이터 마이닝,
	 데이터 시각화를 위한
	 그래프 처리 분야 등에서 널리 사용
■	무료 소프트웨어이지만
	 오랜...
을 활용한
데이터 분석
R
신뢰성과 기능성,
확장성과 경제성을 갖춘
훌륭한 데이터 분석도구 !!!
신뢰성
기능성
확장성
경제성
R
을 활용한
데이터 분석
R
?
하지만, R에도 약점은 있으니...
■	대용량 데이터 처리에 취약하다
■	R 병렬 처리 패키지만으로는             
아무래도 부족한…
R ** TB
을 활용한
데이터 분석
R + Hadoop
?
■	하둡을 사용해 보자!
■	대용량 데이터를 HDFS와 같은 분산 저장소에 올려놓고  
■	그 결과로 생성된 파일을 가지고 R을 이용한 데이터 분석을 수행
■	하둡의 맵리듀...
+ Spark
?
■	그런데 뭐가 달라졌지?
■	이번엔 스파크(스파크R)를 활용해 보자!
R ** TB
HDFS
Files
Files
Files
Files
Spark
을 활용한
데이터 분석
R
+ Spark을 활용한
데이터 분석
R
R+
SparkR
package
** TB
HDFS
스파크R을 사용하게 되면
■	대용량 데이터 처리 결과를 “파일”로
만들고 그 “파일”을 다시 R로 분석하는
단계를 거칠 필요가 ...
R+
SparkR
package
** TB
HDFS
R에서 직접 스파크 클러스터에 작업을 제출하고 … 그 결과를 R 데이터프레임 형태로 직접 전달받는다!
+ Spark을 활용한
데이터 분석
스파크 클러스터
R
Serve...
■	클러스터 기반 대용량 분산 데이터 처리
■	다양한 기능 제공
머신러닝
RDD
분산 데이터 처리
분산SQL
Dataset
DataFrame
Graph 알고리즘
스파크R
Text, JSon, Parquet...
Spar...
Ex) SparkR 쉘에서 실행한 경우!
1. Java 설치
2. Spark 설치
3. R 설치
4. SparkR 패키지 로드
5. 스파크R(Spark + R)을 이용한
데이터 처리
Spark + R(쉘에서 작업)
Ex) RStudio에서 실행한 경우!
Spark + R(RStudio에서 작업)
1. Java 설치
2. Spark 설치
3. R 설치
4. Rstudio 설치
5. SparkR 패키지 로드
6. 스파크R(Spark ...
https://zeppelin.apache.org/
Zeppelin(웹 브라우저로 작업)
1.	 데이터 분석을 위한 웹 노트(코드 에디터) 제공
2.	 NF랩스(한국)에서 개발되어 아파치 톱 레벨 프로젝트 등극
3.	 ...
Zeppelin 설치(빌드)
1.	제플린 빌드
■	스파크 최신 버전(2.1.0)을 사용하기 위해 제플린 SNAPSHOT 버전(0.7.0) 빌드 필요
■	노드(Node.js), 자바, 스칼라(2.11), 메이븐 등 빌드를...
Zeppelin 설치(빌드)
1.	빌드가 끝난 후
2.	zeppelin-distribution/target/
	 zeppelin-0.8.0-SNAPSHOT.
	 tar.gz 생성 됨
3.	위 파일 압축을 원하는 위치로
...
1.	자바 설치 (Java7+ 사용 가능 하지만 Java8 권장)
2.	자바 설치 후 JAVA_HOME 환경 변수 설정
3.	스칼라 설치 (2.11.x 버전)
4.	(파이썬을 사용할 경우) 파이썬 설치 (2.6+ 또는 ...
1.	스파크 설치 확인
■	${SPARK_HOME}/bin/spark-shell 실행
■ 프롬프트가 나오면 아래 코드 입력(아래 예제에서 spark_home은 스파크가 설치 경로를 의미)
scala sc.textFile...
1.	R 설치
■	https://www.r-project.org
■	OS에 맞게 설치
■	R 설치 후 R 그래픽 패키지 설치
	 ■	install.packages('devtools', repos = 'http://cra...
1.	SPARK_HOME 설정
2.	zeppelin-site.xml 생성(파일만 생성해 두면 됨)
■	zeppelin_home/conf/zeppelin-env.sh(최초에 zeppelin-env.sh.template 파...
Zeppelin 구동
1.	제플린 데몬 구동
2.	서버 실행 후
	 브라우저를 통해
	 http://서버IP:8080
	 으로 접속
■	zeppelin_home/bin/zeppelin-daemon.sh start ( s...
Zeppelin 노트 생성
1.	상단의 Notebook - “+ Create new note”를 누르고 아래 화면에서 노트북
이름 입력
Zeppelin 노트 실행
1.	노트에 println(Hello, World!!) 라고 입력 후 실행 (실행은 READY 문자옆의
화살표 모양 아이콘)
■	간단한 예제 실행을 통해…
■내부적으로 스파크 잡 실행 + 스파...
Zeppelin 노트 실행
1.	R 그래프 그려보기
Zeppelin 노트 실행
1.	R 데이터프레임과
	 스파크 데이터프레임간의
	 상호 변환을 통한 데이터 처리
Zeppelin 노트 실행
1.	머신러닝 – 코드 입력
Zeppelin 노트 실행
1.	머신러닝 – 실행 결과
감사합니다.
Próximos SlideShares
Carregando em…5
×

빅데이터 분석을 위한 스파크 2 프로그래밍 : 대용량 데이터 처리부터 머신러닝까지

6.012 visualizações

Publicada em

R은 데이터 분석 분야에서 널리 사용되고 있는 무료 도구입니다. 뛰어난 기능과 확장성 등으로 인해 다양한 분야에서 널리 활용되고 있지만 대용량 데이터를 직접 다루는 데 한계가 있다는 약점이 있었습니다. 스파크는 클러스터 환경에서 동작하는 대용량 분산 데이터 처리 시스템입니다. 뛰어난 성능과 더불어 다양하고 유용한 데이터 처리 함수를 제공하며 R, 하둡, Hive 등 기존 데이터 분석 도구등과 연동하여 사용할 수 있는 다양한 기능을 제공합니다.

이 문서에서는 R과 스파크를 연동하는 방법과 함께 R 스크립트에서 R과 스파크 함수를 함께 사용하는 방법을 소개합니다. 또한 웹 브라우저 기반의 작업 환경을 제공하는 제플린과의 연동을 통해 다수의 사용자가 시간과 공간의 제약 없이 자유롭게 서버에 접속하여 데이터를 분석하고 그 결과를 공유할 수 있는 방법에 대해서도 소개합니다. 스파크와 R, 제플린을 적절히 조합하여 사용한다면 다른 유료 분석 툴 부럽지 않은 분석 환경을 구축할 수 있을 것입니다.

Publicada em: Tecnologia
  • Login to see the comments

빅데이터 분석을 위한 스파크 2 프로그래밍 : 대용량 데이터 처리부터 머신러닝까지

  1. 1. Apache Zeppelin 빅데이터분석을 위한 스파크2 프로그래밍 wikibook@wikibook.co.kr +SparkR을 활용한 데이터 분석
  2. 2. 을 활용한 데이터 분석 R
  3. 3. 을 활용한 데이터 분석 R ■ 의학, 제조, 교육, 금융 등 다양한 산업 분야에서 사용 ■ 머신러닝, 데이터 마이닝, 데이터 시각화를 위한 그래프 처리 분야 등에서 널리 사용 ■ 무료 소프트웨어이지만 오랜 기간 사용되면서 그 기능과 안정성을 충분히 검증 ■ 패키지 기반의 확장성을 제공 R데이터 마이닝 제조 머신러닝 의학 통계 분석 교육 오픈소스 History Graphics 금융
  4. 4. 을 활용한 데이터 분석 R 신뢰성과 기능성, 확장성과 경제성을 갖춘 훌륭한 데이터 분석도구 !!! 신뢰성 기능성 확장성 경제성 R
  5. 5. 을 활용한 데이터 분석 R ? 하지만, R에도 약점은 있으니... ■ 대용량 데이터 처리에 취약하다 ■ R 병렬 처리 패키지만으로는 아무래도 부족한… R ** TB
  6. 6. 을 활용한 데이터 분석 R + Hadoop ? ■ 하둡을 사용해 보자! ■ 대용량 데이터를 HDFS와 같은 분산 저장소에 올려놓고 ■ 그 결과로 생성된 파일을 가지고 R을 이용한 데이터 분석을 수행 ■ 하둡의 맵리듀스를 비롯한 다양한 빅데이터 처리 도구를 이용하여 대용량 데이터에 대한 전 처리를 수행한 뒤 R ** TB HDFS Files Files Files Files MapReduce + Hive, Pig, HBase …
  7. 7. + Spark ? ■ 그런데 뭐가 달라졌지? ■ 이번엔 스파크(스파크R)를 활용해 보자! R ** TB HDFS Files Files Files Files Spark 을 활용한 데이터 분석 R
  8. 8. + Spark을 활용한 데이터 분석 R R+ SparkR package ** TB HDFS 스파크R을 사용하게 되면 ■ 대용량 데이터 처리 결과를 “파일”로 만들고 그 “파일”을 다시 R로 분석하는 단계를 거칠 필요가 없다. ■ R 스크립트로 스파크에 직접 연동한다!
  9. 9. R+ SparkR package ** TB HDFS R에서 직접 스파크 클러스터에 작업을 제출하고 … 그 결과를 R 데이터프레임 형태로 직접 전달받는다! + Spark을 활용한 데이터 분석 스파크 클러스터 R Server Server Server Server Server Server Server
  10. 10. ■ 클러스터 기반 대용량 분산 데이터 처리 ■ 다양한 기능 제공 머신러닝 RDD 분산 데이터 처리 분산SQL Dataset DataFrame Graph 알고리즘 스파크R Text, JSon, Parquet... Spark Streaming Spark Spark ?
  11. 11. Ex) SparkR 쉘에서 실행한 경우! 1. Java 설치 2. Spark 설치 3. R 설치 4. SparkR 패키지 로드 5. 스파크R(Spark + R)을 이용한 데이터 처리 Spark + R(쉘에서 작업)
  12. 12. Ex) RStudio에서 실행한 경우! Spark + R(RStudio에서 작업) 1. Java 설치 2. Spark 설치 3. R 설치 4. Rstudio 설치 5. SparkR 패키지 로드 6. 스파크R(Spark + R)을 이용한 데이터 처리
  13. 13. https://zeppelin.apache.org/ Zeppelin(웹 브라우저로 작업) 1. 데이터 분석을 위한 웹 노트(코드 에디터) 제공 2. NF랩스(한국)에서 개발되어 아파치 톱 레벨 프로젝트 등극 3. 인터프리터(Interpreter)를 통해 스파크, Hbase, 쉘, R, 카산드라, 하이브등 다양한 외부 시스템 및 라이브러리 연동 4. 결과 데이터에 대한 시각화 기능 제공 5. Dynamic Form 생성 기능 제공
  14. 14. Zeppelin 설치(빌드) 1. 제플린 빌드 ■ 스파크 최신 버전(2.1.0)을 사용하기 위해 제플린 SNAPSHOT 버전(0.7.0) 빌드 필요 ■ 노드(Node.js), 자바, 스칼라(2.11), 메이븐 등 빌드를 위한 사전 라이브러리 설치(https://goo. gl/WSsHj8, Build requirements 참조) ■ 제플린 코드 Clone ■ git clone https://github.com/apache/zeppelin.git ■ 빌드 ■ ./dev/change_scala_version.sh 2.11 ■ mvn clean package -Pbuild-distr -DskipTests -Pspark-2.1 -Phadoop-2.6 -Ppyspark -Psparkr -Pscala-2.11
  15. 15. Zeppelin 설치(빌드) 1. 빌드가 끝난 후 2. zeppelin-distribution/target/ zeppelin-0.8.0-SNAPSHOT. tar.gz 생성 됨 3. 위 파일 압축을 원하는 위치로 이동 후 압축 해제 (ex: ~/Apps/ zeppelin-0.8.0-SNAPSHOT)
  16. 16. 1. 자바 설치 (Java7+ 사용 가능 하지만 Java8 권장) 2. 자바 설치 후 JAVA_HOME 환경 변수 설정 3. 스칼라 설치 (2.11.x 버전) 4. (파이썬을 사용할 경우) 파이썬 설치 (2.6+ 또는 3.4+ 사용 가능 하지만 3.4+ 권장) 5. (하둡 파일 시스템을 사용할 경우) 하둡 설치 (Hadoop 2.7+ 권장) 6. 스파크 설치 ■ 스파크 다운로드 : https://goo.gl/b6Lb1w (2.1.0 버전, 사용할 하둡 버전에 맞춰 다운로드) ■ 다운로드 된 파일을 압축 해제 후 압축 해제 한 위치를 SPARK_HOME 으로 설정 ■ 스파크 클러스터 설정(https://goo.gl/FOlth1) Spark 설치
  17. 17. 1. 스파크 설치 확인 ■ ${SPARK_HOME}/bin/spark-shell 실행 ■ 프롬프트가 나오면 아래 코드 입력(아래 예제에서 spark_home은 스파크가 설치 경로를 의미) scala sc.textFile(file:///spark_home/README.md).flatMap(_.split( )).countByValue (결과) scala.collection.Map[String,Long] = Map(site, - 1, Please - 4, GraphX - 1… ■ 정상적으로 설치되면 위와 같은 결과가 콘솔에 출력 됨. Spark 설치
  18. 18. 1. R 설치 ■ https://www.r-project.org ■ OS에 맞게 설치 ■ R 설치 후 R 그래픽 패키지 설치 ■ install.packages('devtools', repos = 'http://cran.us.r-project.org') ■ install.packages('knitr', repos = 'http://cran.us.r-project.org')install. packages('ggplot2', repos = 'http://cran.us.r-project.org') ■ install.packages(c('devtools','mplot', 'googleVis'), repos = 'http://cran.us.r-project. org'); require(devtools); install_github('ramnathv/rCharts') R 설치
  19. 19. 1. SPARK_HOME 설정 2. zeppelin-site.xml 생성(파일만 생성해 두면 됨) ■ zeppelin_home/conf/zeppelin-env.sh(최초에 zeppelin-env.sh.template 파일을 복사하여 생성) ■export SPARK_HOME=${SPARK_HOME} ■export SPARK_APP_NAME=Zeppelin-Spark ■ cd zeppelin_home/conf ■ cp zeppelin-site.xml.template zeppelin-site.xml Zeppelin 설정
  20. 20. Zeppelin 구동 1. 제플린 데몬 구동 2. 서버 실행 후 브라우저를 통해 http://서버IP:8080 으로 접속 ■ zeppelin_home/bin/zeppelin-daemon.sh start ( start 대신 “stop” 이나 “restart” 가능)
  21. 21. Zeppelin 노트 생성 1. 상단의 Notebook - “+ Create new note”를 누르고 아래 화면에서 노트북 이름 입력
  22. 22. Zeppelin 노트 실행 1. 노트에 println(Hello, World!!) 라고 입력 후 실행 (실행은 READY 문자옆의 화살표 모양 아이콘) ■ 간단한 예제 실행을 통해… ■내부적으로 스파크 잡 실행 + 스파크 세션 및 스파크 실행 환경 구성 실행결과 코드 실행버튼
  23. 23. Zeppelin 노트 실행 1. R 그래프 그려보기
  24. 24. Zeppelin 노트 실행 1. R 데이터프레임과 스파크 데이터프레임간의 상호 변환을 통한 데이터 처리
  25. 25. Zeppelin 노트 실행 1. 머신러닝 – 코드 입력
  26. 26. Zeppelin 노트 실행 1. 머신러닝 – 실행 결과
  27. 27. 감사합니다.

×