Spark - Shuffling
Shuffling은 분산 시스템 환경에서 데이터가 움직이는 것(A Node -> B Node)을 의미한다. 간단한 예시 하나를 확인해보자.case class CFFPurchase(customer: Int, destination: String, price: Double) val purchasesRDD = sc.parallelize(List(CFFPurchase(100, "Geneva", 22.25), | CFFPurchase(300, "Zurich", 42.10), | CFFPurchase(100, "Fribourg", 12.40), | CFFPurchase(200, "st. Gallen", 8.20), | CFFPurchase(100, "Lucerne", 31.60), | CFFPurchase(300, ..
2020. 2. 3.
Spark - Reduction In Parallel
먼저 Reduction은 값을 더 작은 값으로 변형한다는 의미이다.보다 쉬운 이해를 위해 아래에 Scala에서 reduction 관련 예시를 추가하였다. 그렇지만 언어를 떠나서 reduction은 입력받은 값을 최종적으로 단일 값으로 변경한다는 것이다.val collection = List(1, 3, 2, 5, 4, 7, 6) val res = collection.reduce((x, y) => x max y)val collection = List(1, 3, 2, 5, 4, 7, 6) val res = collection.fold(11)((x, y) => x max y)그런데 모든 Scala의 reduction 메소드가 Spark에서 동작하는 것은 아니다. 그 이유는 바로 Parallelizable 때문이..
2020. 2. 1.