[Spark] Spark 속도 최적화, Cashe() & Persist()
Spark 속도를 최적화시키는 방법으론, Cashe(), Persist()가 있다. Spark 특성상, Transformations는 Lazy Execution 방식으로 작업을 수행한다. 그 이유는, Eager Execution(즉시 시행)을 따를 경우 다음과 같은 비효율이 발생한다. Task를 수행할 때마다 Disk에 저장을 하고, 다시 이를 불러들여야 한다. 이 과정에서 Disk 공간은 물론, 통신으로 인한 속도 저하 등 비효율이 발생하게 된다. 그렇다면 Lazy Execution 방식으로 작업을 수행한다면 어떨까? Lazy Execution 방식이라면, Disk에 저장하지 않는다. 대신 Task에서 Task로 전달될 때 In-Memory 방식으로 데이터를 주고받을 수 있다. In-Memory 방식으..
2022.05.01