inflearn logo
강의

Course

Instructor

[Apache Kafka Application Programming] From concepts to consumers, producers, connects, and streams!

KStream, KTable Join Streams Application

스트림즈에서 테이블의 데이터 수명주기

293

Soo Man Choi

1 asked

0

안녕하세요 카프카 스트림에서 조인을 공부하다가 질문을 남기게 되었습니다.

카프카에는 기본적으로 세그먼트가 있는거로 알고 있습니다. 저는 이것의 수명주기를 1주일로 세팅했다고 가정하겠습니다.

1월 1일
address topic에 gildong: busan 이라는 내용이 들어갔습니다.

1월 3일
order topic에 gildong: iphone이라는 내용이 들어갔습니다.

1월 15일
order topic에 gildong: apple watch라는 내용이 들어갔습니다.

그럼 1월1일 address의 gildong: busan은 1월 15일에는 액티브 세그먼트에는 들어있지 않게 되는거 아닌가요?

이상태에서 order에 gildong: ipad라는 내용이 들어가면 조인이 되는건지 궁금합니다.

스트림 테이블 Kafka 수명주기 데이터 엔지니어링

Answer 1

0

dvwy

Soo Man Choi님,

카프카 스트림즈에서 KTable 또는 GlobalKTable의 데이터 생명주기는 브로커 내부 레코드 삭제 주기와 무관합니다. 만약 KTable, GlobalKTable를 담은 애플리케이션이 실행중인 상태에서 해당 레코드를 삭제하고 싶으시다면 동일한 키의 레코드에 메시지 값을 null로 넣으셔야지만 삭제가 가능합니다. 이를 tombstone message라고 부릅니다. tombstone message에 대한 자세한 설명은 다음 링크를 참고하세요

- Kafka Stream Usage Patterns(링크)

그러므로 브로커 세그먼트에서 gildong:busan이 지워지더라도 1월 15일에 카프카 스트림즈를 통해 조인이 가능합니다.

0

Soo Man Choi

감사합니다. 그게 궁금했는데 구글링 실력이 부족했는지 쉽게 못찾았습니다. 감사합니다

카프카 ISR 개념 부분 질문

0

480

1

카프카 커넥터를 두가지 사용하는 이유

0

899

1

브로커, 토픽, 파티션관계

0

677

1

커넥트(소스), 커넥트(싱크)

1

533

1

카프카 isr 질문 있어요

0

327

1

파티션 질문 있어요

0

387

1

명령어 관련 문의드립니다.

0

424

2

토픽의 레코드가 라운드로빈으로 배정되는 방식 질문있습니다.

0

424

2

레코드에 json 형태의 데이터 넣는법 질문

0

429

2

카프카 도커로 실행

1

439

1

CCDAK 질문입니다!

0

1347

1

스트림즈 조인에 관련해서 질문드립니다.

0

301

1

min.insync.replicas에서 설정값만큼의 브로커 다운시

0

254

1

브로커로 메시지를 보낼때 null값인 경우

0

462

1

zookeeper 실행시 에러

1

782

1

온프레미스 환경 설치에 대해 질문있습니다.

0

349

1

리밸런싱 시, 메시지 중복 처리 문제

0

1060

1

강사님, Idempotence / transaction의 차이가 궁금합니다.

0

369

1

브로커 장애 발생시 질문

0

331

1

에러 핸들링과 관련하여 질문 드립니다

0

310

1

토픽 생성시 파티션이 배치되는 방법

0

352

1

질문있습니다!

0

135

1

카프카 스트림즈 에러 핸들링 질문 드립니다

0

394

1

카프카 클러스터 질문이 있습니다.

0

178

1