R Language
스파크 API (SparkR)
수색…
비고
SparkR
패키지를 사용하면 Spark 클러스터 위에 분산 데이터 프레임을 처리 할 수 있습니다. 이를 통해 매우 큰 데이터 세트에서 선택, 필터링, 집계 같은 작업을 수행 할 수 있습니다. SparkR 개요 SparkR 패키지 문서
스파크 컨텍스트 설정
R에서 스파크 컨텍스트 설정
Sparks 분산 데이터 프레임 작업을 시작하려면 R 프로그램을 기존 Spark Cluster와 연결해야합니다.
library(SparkR)
sc <- sparkR.init() # connection to Spark context
sqlContext <- sparkRSQL.init(sc) # connection to SQL context
다음은 IDE를 Spark 클러스터에 연결하는 방법에 대한 정보 입니다.
스파크 클러스터 가져 오기
설치 지침이있는 Apache Spark 소개 항목 이 있습니다. 기본적으로, 당신은 자바를 통해 로컬 스파크 클러스터를 사용 (수 지침을 참조 (비 무료) 클라우드 애플리케이션 (예) 또는 사용 마이크로 소프트 애저 [화제의 사이트] , IBM ).
데이터 캐쉬
뭐:
캐싱은 Spark에서 계산을 최적화 할 수 있습니다. 캐싱은 데이터를 메모리에 저장하며 특별한 경우의 지속성입니다. 다음은 Spark에서 RDD를 캐시 할 때 일어나는 일입니다.
왜:
기본적으로 캐싱은 중간 데이터 (원본 데이터의 변형 이후)를 저장합니다. 따라서 캐시 된 RDD를 사용하면 이전 변환을 다시 계산하지 않고 메모리에서 이미 변환 된 데이터에 액세스 할 수 있습니다.
방법:
다음은 한 번 더 액세스 할 때 메모리 내 저장소에서 대용량 데이터 (여기서는 3GB big csv) 에 빠르게 액세스하는 방법의 예입니다.
library(SparkR)
# next line is needed for direct csv import:
Sys.setenv('SPARKR_SUBMIT_ARGS'='"--packages" "com.databricks:spark-csv_2.10:1.4.0" "sparkr-shell"')
sc <- sparkR.init()
sqlContext <- sparkRSQL.init(sc)
# loading 3 GB big csv file:
train <- read.df(sqlContext, "/train.csv", source = "com.databricks.spark.csv", inferSchema = "true")
cache(train)
system.time(head(train))
# output: time elapsed: 125 s. This action invokes the caching at this point.
system.time(head(train))
# output: time elapsed: 0.2 s (!!)
RDD (탄력적 인 분산 데이터 세트) 생성
데이터 프레임에서 :
mtrdd <- createDataFrame(sqlContext, mtcars)
CSV에서 :
csv의 경우 Spark 컨텍스트를 시작하기 전에 csv 패키지 를 환경에 추가해야합니다.
Sys.setenv('SPARKR_SUBMIT_ARGS'='"--packages" "com.databricks:spark-csv_2.10:1.4.0" "sparkr-shell"') # context for csv import read csv ->
sc <- sparkR.init()
sqlContext <- sparkRSQL.init(sc)
그런 다음 열의 데이터 스키마를 유추하여 CSV를로드 할 수 있습니다.
train <- read.df(sqlContext, "/train.csv", header= "true", source = "com.databricks.spark.csv", inferSchema = "true")
또는 미리 데이터 스키마를 지정하여 :
customSchema <- structType(
structField("margin", "integer"),
structField("gross", "integer"),
structField("name", "string"))
train <- read.df(sqlContext, "/train.csv", header= "true", source = "com.databricks.spark.csv", schema = customSchema)