아파치 스파크 sparklyr 설치

1 로컬 컴퓨터 스파크 설치

2 sparklyr 설치 (윈도우) 1

sparklyrdplyr을 스파크 환경에서 사용할 수 있도록 구현된 팩키지다.

윈도우 사전 준비

윈도우 환경에서 sparklyr을 설치하려면 Microsoft Visual C++ 2010 SP1 Redistributable Package을 다운로드받아 설치한다.

  1. Download Apache Spark 사이트를 방문하여 스파크-하둡을 다운로드 한다. 너무 오래된 버전, 가장 최근 버전은 설치과정에 문제가 있을 수 있으니 현재 시점기준(“2019-01-01”) 약 1년전 버전을 설치한다. spark-2.3.0-bin-hadoop2.7.tgz은 하둡 2.7 버전에 스파크 2.3.0 버전을 설치한다는 의미가 된다.
    • 스파크 버젼 2.4.0. : spark-2.4.0-bin-hadoop2.7.tgz 버전은 다운로드 받아 설치한다.
    • 스파크 버젼 2.3.0. : spark-2.3.0-bin-hadoop2.7.tgz 버전은 다운로드 받아 설치한다.
    • 스파크 버젼 1.6.3. : spark-1.6.3-bin-hadoop2.6.tgz 버전을 다운로드 받아 설치한다.
  2. 다운로드 받은 파일의 압축을 풀게 되면 spark-2.3.0-bin-hadoop2.7.tgz 디렉토리가 생성된다.
    • 작업하기 편한 장소로 압축 푼 스파크-하둡 디렉토리를 이동시킨다. 예를 들어, C:/spark-2.3.0-bin-hadoop2.7
  3. RStudio에서 sparklyr 팩키지를 설치한다.

2.1 자바 설치 2

스파크를 설치하기 위해서 먼저 자바 버전 7+ 이상이 필요하다. 만약 자바가 설치되지 않는 경우 자바 다운로드를 선행하여 진행한다.

2.2 스파크 헬로월드

Download Apache Spark 사이트에서 다운로드 받아 압축을 풀게되면 C:/spark-2.3.0-bin-hadoop2.7 스파크 설치는 하둡과 함께 완료되었다.

“제어판 → 모든 제어판 항목 → 시스템”에서 “고급 시스템 설정”을 선택하여 “시스템 속성”의 “고급” 탭에서 “환경변수”를 설정한다.

다음으로 winutils.exe 파일을 Windows binaries for Hadoop versions을 하둡 버젼에 맞춰 다운로드하여 설치한다. (복사하여 붙여넣기)

예를 들어, 하둡 2.7버젼이 “C:-2.3.0-bin-hadoop2.7” 디렉토리에 설치되어 있기 때문에 https://github.com/steveloughran/winutils/blob/master/hadoop-2.7.1/bin/winutils.exe 파일을 “C:-2.3.0-bin-hadoop2.7” 디렉토리에 복사하여 붙여넣으면 된다.

스파크 설정 후에 발생되는 버그를 미연에 방지하기 위해서 다음 작업수행한다.

  1. c:\tmp\hive 디렉토리 생성
  2. 다운로드 받은 winutils.exe 프로그램 실행: winutils.exe chmod -R 777 c:\tmp\hive
  3. 권한확인: winutils.exe ls -F c:\tmp\hive

2.2.1 언어 설치 - 스칼라

가장 먼저 스파크 헬로월드를 보내보자. 이를 위해서 스파크와 의사소통할 수 있는 언어가 필요하다. 스칼라를 스파크 데이터 분석 및 모형개발의 주언어로 설정하고자 할 경우 스칼라 다운로드 사이트에서 윈도우 버젼을 다운로드받아 설치한다.

C:\Program Files (x86)\scala 디렉토리에서 스칼라 버젼을 확인해보자.

2.2.2 스파크 쉘(spark-shell)

C:\Program Files (x86)\scala\doc 디렉토리에 가면 README 파일이 있다. 이문서를 불러와서 단어갯수와 첫 행을 출력하는 코드를 작성한다. 우선 spark-shell을 실행시켜 스파크 클러스터를 생성시킨다. 그리고나서 sc.textFile() 함수로 README 파일을 불러읽어온다. 그리고 나서 textFile.count(), textFile.first() 함수로 단어갯수와 문서 첫줄을 화면에 찍어본다.

Spark Quick Start에서 자세한 사항을 확인한다.

2.2.4 언어 - R

spark_available_versions() 함수를 사용해서 R에서 설치하는 방법도 있기는 하지만, 추후 있을 수 있는 디버깅을 고려하여 스파크를 설치하고 환경설정을 마친 후에 sparklyr 팩키지를 통해서 R언어로 빅데이터 분석 및 모형개발 작업을 수행하는 것이 좋은 경우도 많다.

[1] "C:\\Program Files\\Java\\jre1.8.0_171"
[1] "C:\\spark-2.3.0-bin-hadoop2.7"
[1] "C:\\spark-2.3.0-bin-hadoop2.7"
[1] "C:\\Users\\chongmu\\AppData\\Local/spark/spark-2.3.2-bin-hadoop2.7"
  spark hadoop
1 2.1.0    2.7
2 2.3.2    2.7
3 2.0.2    2.7
                                                                 dir
1 C:\\Users\\chongmu\\AppData\\Local/spark/spark-2.1.0-bin-hadoop2.7
2 C:\\Users\\chongmu\\AppData\\Local/spark/spark-2.3.2-bin-hadoop2.7
3 C:\\Users\\chongmu\\AppData\\Local/spark/spark-2.0.2-bin-hadoop2.7
[1] "iris"

3 sparklyr 설치 유닉스 계열 3 4

유닉스 계열(맥, 리눅스)에서 sparklyr 설치는 더욱 쉽다. sparklyr - R interface for Apache Spark 안내지침에 따라 명령어를 타이핑하거나 복사하여 붙여 넣으면 된다.

맥 사전 준비

맥 환경에서 sparklyr을 설치하려면 자바를 설치해야 하고, sparklyr을 실행할 때 발생하는 자바 오류도 잡아줘야 된다.

  1. 자바 JDK 설치는 .dmg 파일을 제공해 주기 때문에 오라클 자바 다운로드 사이트에서 라이선스 동의를 하고 가장 최신 jdk-8u111-macosx-x64.dmg 파일을 다운로드 받아 설치한다.
  2. 터미널을 열고 java -version 명령어로 버젼을 확인힌다.
  3. cd /Library/Java/JavaVirtualMachines/ 명령어를 통해 JDK가 설치된 디렉토리를 확인한다.
  4. cd jdk1.8.0_111.jdk/Contents/Home/ 명령어로 자바 홈(JAVA_HOME)까지 들어가서 경로를 확인한다.
    • JAVA_HOME 경로를 확인하고 나면 환경변수로 설정을 할 수 있다.
    • pwd 명령어로 /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home 경로명을 확인한다.
  5. nano ~/.bash_profile 명령어를 통해 나노 편집기에 JAVA_HOME, JAVA_CPPFLAGS 환경설정을 하단에 붙여 넣는다.
    • export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home"
    • export JAVA_CPPFLAGS="/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/include"
  6. source ~/.bash_profile 명령어를 통해 변경사항을 바로 적용시킨다.

R로 통계분석을 할 때 JAVA_HOME을 설정했지만, 오류가 생기는 경우가 있다. 5 이런 경우 /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents 디렉토리 Info.plist 파일의 내용을 다음과 같이 변경한다. 자세한 사항은 Java SE 8 on Mac OS X을 참조한다.

3.2 sparklyr RStudio 활용

sparklyr RStudio 에서 편한게 사용할 수 있도록 다양한 기능을 제공하고 있다. 이를 위해서 RStudio v0.99.1273 Preview 버젼을 다운로드해서 설치한다. Spark 탭이 별도로 생성되고 이를 통해 스파크에 대한 전반적인 상황을 확인할 수 있다.

RStudio Spark 인터페이스