[🔥Spark] java.lang.AssertionError: assertion failed: Concurrent update to the log. Multiple streaming jobs detected 해결방법
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()
반응형
'데이터 엔지니어링' 카테고리의 다른 글
[Apache Parquet] 공식 문서로 파케이 이해하기 (0) | 2022.01.20 |
---|---|
[Apache Thrift] 아파치 쓰리프트 간단하게 이해하기 (0) | 2022.01.20 |
[🔥Spark] StreamingQueryException: Cannot find earliest offsets of Set(topic-name-0) (0) | 2021.11.02 |
[🔥Spark] 스파크 설정하는 방법(Spark Configuration, SparkConf) (0) | 2021.11.01 |
[🔥Spark] Spark Streaming + Kafka 연동하기 (0) | 2021.10.29 |