아파치 스파크 sparklyr 설치

1 우분투 자바 설치 1 2

준비한 AWS EC2 인스턴스 ssh를 통해 ubuntu 계정으로 로그인한후 자바를 설치한다. JDKJRE를 포함하고 있어서 sudo apt-get install default-jdk 를 통해 함께 설치하는 것을 권장한다. 그런 경우는 없겠지만, 여러버젼의 자바가 설치된 경우 sudo update-alternatives --config java 명령어를 통해 다양한 자바 버젼을 관리한다.

다음으로 JAVA_HOME을 설정하는데 sudo update-alternatives --config java 명령어로 나온 자바홈 경로를 복사해서 sudo nano /etc/environment 에 붙여넣는다. JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64" 마지막으로 source /etc/environment 명령어로 변경사항을 적용시킨다.

JAVA_HOME 찾는 방법 3

Error in get_java(throws = TRUE) : Java is required to connect to Spark. JAVA_HOME is set but does not point to a valid version. Please fix JAVA_HOME or reinstall from: https://www.java.com/en/

상기와 같이 JAVA_HOME 관련 오류가 발생되는 경우 조치 방법은 다음과 같다.

  1. find /usr/lib/jvm/java-1.x.x-openjdk
  2. sudo nano /etc/environment
  3. JAVA_HOME=“/usr/lib/jvm/java-8-openjdk-amd64” 추가
  4. source /etc/environment

2 스파크 설치

Download Apache Spark™ 사이트를 방문하여 아파치 스파크를 다운로드 한다. 물론 스파크내부에 하둡도 같이 포함되어 있는 것을 다운로드 받으면 편리하다. tar xvf 명령어로 압축을 풀고 나서 스파크가 설치된 환경변수 디렉토리를 기억해 둔다.

3 RStudio 스파크 환경설정

SPARK_HOME = 디렉토리 설정을 맞춰주면 스파크를 sparklyr 명령어를 통해 활용이 가능하다. EC2 인스턴스 사양에 맞춰 스파크 클러스터 환경을 spark_config()에 맞춰 설정한다.

  • 하드웨어 사양: M4 Double Extra Large 4
    • m4.2xlarge
    • 메모리: 32.0 GiB
    • CPU: 8 vCPUs
    • 가격(On Demand): $0.492 hourly
    • 가격(Reserved): $0.294 hourly
  • 환경설정 시 유용한 명령어
    • spark_home_dir()
    • spark_installed_versions()

org.apache.hadoop:hadoop-aws:2.7.3 팩키지는 AWS S3 연결에 필요한 팩키지가 된다. nycflights13, Lahman 팩키지 R 데이터프레임을 스파크 클러스터에 넣어 스파크에서 데이터를 분석한다. 데이터프레임을 스파크 클러스터에 던질 때 사용하는 copy_to() 명령어를 사용하여 스파크 분산 환경에서 데이터를 처리한다. 정반대로 스파크 클러스터에서 꺼내 데이터프레임에서 분석하는 것이 collect() 명령어를 사용하는 것이다.