본문 바로가기

IT/Spark

RDD filter And Sort

Filter, SortByKey, KeysAndValues

자세한 설명은 생략.. 
Ex)
test("Filter") {
val rdd = sc.parallelize(1 to 5)
val result = rdd.filter(_ > 2)
println(result.collect.mkString(", "))
}

test("SortByKey") {
val rdd = sc.parallelize(List("q", "z", "a"))
val result = rdd.map((_, 1)).sortByKey()
println(result.collect.mkString(", "))
}

test("KeysAndValues") {
val rdd = sc.parallelize(List(("k1", "v1"), ("k2", "v2"), ("k3", "v3")))
println(rdd.keys.collect.mkString(","))
println(rdd.values.collect.mkString(","))
}

Result)

3, 4, 5
(a,1), (q,1), (z,1)
k1,k2,k3
v1,v2,v3



Sample

샘플 추출해서 새로운 RDD 생성.
def sample(
withReplacement: Boolean,
fraction: Double,
seed: Long = Utils.random.nextLong): RDD[T]

withReplacement: true 는 복원 추출, false는 비복원추출

fraction : 나타나는 횟수의 기대값, 평균 발생 횟수, 반드시 0 이상의 값을 넣어야 함. 비복원일 경우 0~1 사이의 값을 넣어야 한다. 0.5를 넣는다고 해서 절반이 나오지 않는다. 정확히 원하는 샘플 갯수를 뽑으려면 take 함수를 사용할 것!

seed : 무작위값 추출에 대한 상수


'IT > Spark' 카테고리의 다른 글

RDD Data Load, Save  (2) 2017.12.18
RDD Action  (0) 2017.12.18
RDD Operate Partition  (0) 2017.12.18
RDD Transformation aggregation  (0) 2017.12.18
RDD Transformation #2  (0) 2017.12.15