shuffle
-
spark shuffle 피하고 broadcast join 으로 속도 빠르게 하기카테고리 없음 2020. 12. 5. 16:35
import org.apache.spark.sql.functions.broadcast BigDF.join(broadcast(SmallDF), SmallDF.col("ID") === BigDF.col("ID")) SELECT /*+ BROADCAST(SmallDF) */ * FROM LargeDF JOIN SmallDF ON LargeDF.key = SmallDF.key 너무 큰 테이블(BigDF)과 작은 테이블(SmallDF)을 JOIN하였는데 나머지는 excutor는 모두 끝났는데 한 executor에서 계속 task 실행 중이라 작업이 오래 걸렸다. spark의 shffle join은 두 테이블에서 각 executor에 알맞는 서로 data를 복사하기 때문에 속도가 느려진다. 한 테이블이 작다면 브로..
-
spark error no space left on device 에러 해결빅데이터/Spark 2020. 12. 1. 03:22
join 작업이 많은 코드를 돌렸더니 ERROR: no space left on device 가 발생했다. stack overflow 검색 결과, spark.local.dir를 변경하라고 나왔다. Spark Application Properties 중 하나였는데 spark.local.dir Directory to use for "scratch" space in Spark, including map output files and RDDs that get stored on disk. This should be on a fast, local disk in your system. It can also be a comma-separated list of multiple directories on different..