목록분류 전체보기 (99)
핀아의 저장소 ( •̀ ω •́ )✧

Unstructured Semi Structured Structured ✅ 데이터를 합치고 추출 하기 Q. 미국의 $2000불 이상의 주식만 가져올 때, 가능한 방법은???? # CASE 1: join 먼저, filter 나중에 tickerPrice = tickers.join(prices) tickerPrice.filter(lambda x: x[1][0][2] == "USA" and x[1][1][0] > 2000).collect() # CASE 2: filter 먼저, join 나중에 filteredTicker = tickers.filter(lambda x: x[1][2] == "USA") filteredPrice = prices.filter(lambda x: x[1][0] > 2000) filtere..

Shuffling 그룹핑시 데이터를 한 노드에서 다른 노드로 옮길 때 사용한다. 성능을 (많이) 저하시킨다. ✅ groupByKey를 할 때도 발생하는 Shuffling key를 기준으로 연산을 하며, 데이터가 이리저리 섞이기 때문에 통신을 많이 하게 된다. 여러 네트워크 연산을 일으키기 때문에 연산 코스트가 큰 연산이다. ✅ 통신 속도 ✅ Shuffle을 일으킬 수 있는 작업들 Join, leftOuterJoin, rightOuterJoin GroupByKey ReduceByKey ComebineByKey Distinct Intersection Repartition Coalesce → 위의 함수들이 결과로 나온 RDD를 원본 RDD의 다른 요소를 참조하거나, 다른 RDD를 참조하여 Shuffle을 일으..

Key-Value RDD에 적용할 수 있는 Transformation & Actions ✅ Transformation groupByKey reduceByKey mapValues keys join (+ leftOuterJoin, rightOuterJoin) ✅ Actions countByKey 1️⃣ groupByKey groupBy를 하게되면 rdd 내의 값이 주어지는 함수를 기준으로 그룹핑이 되어 나눠진다. groupByKey를 하면 무엇을 기준으로 할지(키를 기준으로 그룹핑함) 명확해서 함수를 따로 넣어주지 않아도 된다. [groupBy 예제] [groupByKey 예제] groupByKey() 매개변수를 넣어주면 파티션 개수를 정할 수 있다. 2️⃣ reduceByKey 개념적으로는 groupByK..

Reduction 요소들을 모아서 하나로 합치는 작업 많은 Spark의 연산들이 reduction이다. ✅ Parallel Transformations 주로 변형을 적용시키는 작업들 map, flatMap, filter ✅ 그렇다면 Action은 어떻게 분산된 환경에서 작동할까? 대부분의 Action은 Reduction이다. Reduction: 근접하는 요소들을 모아서 하나의 결과로 만드는 일 파일 저장, collect()등과 같이 Reduction이 아닌 액션도 있다. ✅ 병렬처리 병렬처리 하려면 두개의 요소를 모아서 하나로 만들 수 있어야 한다. 하지만, 파티션마다 독립적으로 있지 않고 파티션마다 의존적이면 병렬처리 불가능하다. ✅ 대표적인 Reduction Actions Reduce Fold Gro..

✅ Master Worker Topology Spark는 Master Worker Topology로 구성된다. = master와 worker로 구성 스파크를 쓰면서 잊지 말아야 할 점 항상 데이터가 여러곳에 분산되어 있다는 것 같은 연산이어도 여러 노드에 걸쳐서 실행된다는 점 ✅ Spark 구조 개발 시 Driver Program을 중점적으로 사용하며, 드라이버 프로그램이 노드들에게 연산해야될 작업을 보낸다. 또한 Driver Program은 작업들을 조직한다. SparkContext는 새로운 RDD를 생성하는 역할을 한다. Driver Program은 개발자나 유저가 프로그램과 상호작용을 할 수 있는 노드이고, 실제 작업은 worker 노드에서 일어난다. 클러스터 매니저를 통해 드라이버와 워커를 연결 ..

https://mydb-lib.tistory.com/entry/0103-RDD-Transformations-and-Actions 01_03. RDD Transformations and Actions Transformations & Actions Transformations 결과값으로 새로운 RDD를 반환 Actions가 실행되기 전까진 실행되지 않는다. 지연 실행(Lazy Execution) Actions 결과값을 연산하여 출력하거나 저장 파이썬 오브젝트나 리 mydb-lib.tistory.com 앞서 Transformation과 Actions 두가지 방식으로 나눈 이유는 메모리를 최대한 활용하기 위해서이다. 디스크, 네트워크 연산을 최소화 할 수 있다. 데이터를 다루는 task는 반복되는 경우가 많다...