수색…


비고

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)


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow