데이터 엔지니어 기술 블로그

[🔥Spark] java.lang.AssertionError: assertion failed: Concurrent update to the log. Multiple streaming jobs detected 해결방법 본문

데이터 엔지니어링

[🔥Spark] java.lang.AssertionError: assertion failed: Concurrent update to the log. Multiple streaming jobs detected 해결방법

jun_yeong_park 2021. 11. 4. 12:45
반응형

에러 메세지

java.lang.AssertionError: assertion failed: Concurrent update to the log. Multiple streaming jobs detected for 53 at scala.Predef$.assert(Predef.scala:223)

 

원인

로그에 대한 동시 업데이트, 여러 스트리밍 작업이 발견되었습니다.

 

스파크 스트리밍에서 동일한 체크포인트를 사용하는 두 개의 싱크 작업(writeStream)이 동시에 실행되면 발생하는 문제이다.

checkpointLocation을 다른 위치로 사용하면 해결할 수 있다.

 

Zeppelin에서 코드를 실행하고 같은 스트리밍 스크립트를 사용할 때 오류가 발생할 수 있다.

 

기존

같은 location을 사용한다.

동시에 같은 두가지 스크립트를 실행한다.

...
.option("checkpointLocation", "location_1").start()


...
.option("checkpointLocation", "location_1").start()

 

해결 방법

다른 location을 사용한다.

동시에 같은 스크립트를 실행하지 않는다.

...
.option("checkpointLocation", "location_1").start()

...
.option("checkpointLocation", "location_2").start()

 

 

 

반응형
Comments