728x90
반응형
spark-sql이 데이터를 빠르게 search 하는데 효과적이긴 하지만 데이터가 너무 크거나 복잡한 연산을 필요로 할 때는 Spark RDD API를 사용하는 것이 더 나을 때가 있다.
스칼라로 코드를 작성할 수 있기 때문에 복잡한 연산을 표현하기에 더 직관적이고 적절하다.
combine 관련 연산 중 가장 많이 쓰이는 두 개의 메소드가 groupByKey와 reduceByKey이다.
groupByKey보다는 reduceByKey가 더 효율적으로 구현되어 있다.
그래서 공식 API 문서를 비롯한 여러 곳에서 groupByKey 사용을 권장하지 않고 있다.
이유는 map-side combine이 효율적인데 groupByKey는 map-side combine을 하지 않도록 되어있기 때문이다.
https://databricks.gitbooks.io/databricks-spark-knowledge-base/content/best_practices/prefer_reducebykey_over_groupbykey.html
(groupByKey 보다 reduceByKey가 더 나은 이유)
728x90
반응형
'코딩해 > Kafka, Spark, Data Engineering' 카테고리의 다른 글
[DB 엔지니어링] 유데미 강좌 - ACID (0) | 2023.07.24 |
---|---|
[데이터 중심 애플리케이션 설계] 1장 - 신뢰할 수 있고 확장 가능하며 유지보수하기 쉬운 애플리케이션 (0) | 2023.03.22 |
[Redis] Mac Redis 설치 (0) | 2022.12.13 |
[Spark-submit] Console 로그 설정 | Log level (0) | 2022.06.03 |
[Spark] spark.driver.maxResultSize 에러 (0) | 2022.05.11 |