티스토리 뷰
[업데이트 2016.11.16 02:29]
Spark를 R과 연동하기 위해 아래의 주소로 접속하여 Spark 최신 버전을 다운로드합니다.
(V2.0.1 / Windows 기준으로 작성하였습니다.)
https://spark.apache.org/downloads.html
다운로드후 받은 압축파일을 아래와 경로에 압축 해제합니다.
C:\spark-2.0.1\
이제 Windows에서 Computer > Properties > Advanced system settings > Environment Variables로 이동후, System variables의 Path에 다음과 같이 R과 Spark의 실행파일이 위치한 경로를 지정합니다.
C:\Program Files\R\R-3.3.1\bin; C:\spark-2.0.1\bin
아래와 같이 Command Prompt를 실행 후, sparkR를 실행하여 Spark가 정상적으로 설치 되었는지 확인합니다.
이제 R Studio를 실행한 후, 아래와 같이 실행합니다.
1 2 3 |
> Sys.setenv(SPARK_HOME = "C:\\spark-2.0.1\\") > .libPaths(c(file.path(Sys.getenv("SPARK_HOME"),"R","lib"), .libPaths())) > library(SparkR) |
|
아래와 같이 정상적으로 SparkR library가 사용 가능한 상태가 되면, SparkR입력시 SparkR에 대한 함수들이 자동완성이 됩니다. 이로써 SparkR을 사용하기 위한 준비가 완료되었습니다.
1 |
> as.data.frame |
|
SparkR을 사용하기 위해서 session함수를 불러줘야 합니다. session함수가 불리는 순간 기존에 package:base에 있던 함수들이 SparkR에 맞게 변경되어 호출하게 됩니다. 아래는 그 차이점을 보여줍니다.
<SparkR 세션함수 호출전>
1 |
> as.data.frame |
|
1 |
function (x, row.names = NULL, optional = FALSE, ...) { if (is.null(x)) return(as.data.frame(list())) UseMethod("as.data.frame") } <bytecode: 0x0a574908> <environment: namespace:base> |
|
<SparkR 세션함수 호출후>
1
2 |
> sparkR.session()
> as.data.frame |
|
1 |
nonstandardGenericFunction for "as.data.frame" defined from package "SparkR"
function (x, row.names = NULL, optional = FALSE, ...) { standardGeneric("as.data.frame") } <environment: 0x08e9d1f0> Methods may be defined for arguments: x, row.names, optional Use showMethods("as.data.frame") for currently available ones. |
|
faithful 기본 정의된 데이터를 보여주는 코드입니다.
1
2 |
> df <- as.data.frame(faithful)
> head(df) |
|
1 |
eruptions waiting 1 3.600 79 2 1.800 54 3 3.333 74 4 2.283 62 5 4.533 85 6 2.883 55 |
|
<GitHub>
https://github.com/AsyncBridge/Analytics/blob/master/R/R_SparkR_Settings.R
- Total
- Today
- Yesterday
- docker
- SSM
- English
- Library
- #ApacheZeppelin
- Sea Bottom
- 도커
- belief
- aws #cloudfront
- some time ago
- Physical Simulation
- sentence test
- Jekyll and Hyde
- #ApacheSpark
- GOD
- Game Engine
- 2D Game
- #REST API
- Memorize
- OST
- ILoop Engine
- Worry
- Badge
- Mask R-CNN
- ate
- #ELK Stack
- Ragdoll
- project
- #TensorFlow
- Meow
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |