
1
AI 요약
이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.
Jackson과 Scala Flink 코드 리팩토링
이 글에서는 Scala Flink 코드 리팩토링 중 발생한 Serialization 이슈를 다룹니다. Jackson을 사용하여 JSON serialization을 처리하는 과정에서, Java 클래스를 Scala case class로 변경하면서 여러 문제가 발생했습니다.
주요 이슈
- Jackson을 통한 Serialization 오류: Scala Enumeration과 Option 필드가 잘못 출력되는 문제가 있었습니다.
- Flink Streaming에서의 Serialization 문제: POJO와 Scala case class의 서로 다른 Serializer로 인해 런타임 오류가 발생했습니다.
해결 방법
Jackson serialization 오류는 jackson-module-scala
를 사용하여 해결하고, 커스텀 ObjectMapper를 구현하여 모든 Enumeration 필드의 Serialization 문제를 해결했습니다. Flink Serialization 문제는 상속 관계 제거와 null값을 Option으로 변경하여 해결했습니다.