해당 노션에서는 다음 Github의 Hourly-Tips 에 대해 다룬다.
https://github.com/pjw81226/flink-training/tree/release-1.17
Fork 후에 jangwoo 브랜치를 만든다. 이후의 업데이트, 코드의 변경사항은 해당 브랜치에 기록한다.
목표는 다음과 같다.
main을 실행시키면 Flink는 IDE 내부의 로컬 미니 클러스터로 동작된다. JVM 안에서 TaskManager/JobManager 역할을 전부 돌려주기 때문에 따로 flink run 같은 Job 제출이 따로 필요 없다.
미니클러스터가 아닌 실제 클러스터에 실행시키려면 Flink를 실행시키고 localhost:8081의 Flink UI에서 빌드한 JAR파일을 업로드 해주면 된다. (필자는 Docker를 이용해서 Flink를 실행시키기 위해 directory 내부에 docker-compose.yml 파일을 작성해뒀다.)
Datasource를 받아오는 코드, Sink에 대한 코드와 같은 필요한 커넥터 JAR들을 포함한 상태로 JAR 빌드해서 클러스터에 제출하는 게 일반적이다.
파이프라인 전체를 작성한 후에 JobManager에 제출해야함.