spark - streaming direct stream 의 부분 실현 원리
1294 단어 빅 데이터
Exactly-once Spark Streaming from Apache Kafka
몇 가 지 를 정리 하 다.
1. spark - streaming 은 사실 interval 에 따라 rdd stream 을 만 들 었 습 니 다.rdd 를 만 들 때, 먼저 지난번 에 읽 은 편 이 량 에 따라 rdd 를 정의 한 다음, 방금 정 의 된 rdd 의 실제 수신 데이터 에 따라 rdd 를 생 성 합 니 다
2. HasOffset Ranges, 각 topic 에 대응 하 는 모든 partition, rdd 에 HasOffset Ranges 표시
3. spark - streaming 의 kafka 기본 consume 메 시 지 는 At - host - once 모드 이지 만 Exactly - once 모드 를 실현 하려 면 모든 rdd partition 의 offset 을 저장 하 는 데 많은 자원 을 소모 합 니 다.예 를 들 어 위의 글 에서 다음 과 같은 빨간색 코드 를 사용 하여 rdd partition 의 offset 를 읽 었 습 니 다.
stream.foreachRDD { rdd =>
rdd.foreachPartition { iter =>
// make sure connection pool is set up on the executor before writing
SetupJdbc(jdbcDriver, jdbcUrl, jdbcUser, jdbcPassword)
iter.foreach { case (key, msg) =>
DB.autoCommit { implicit session =>
// the unique key for idempotency is just the text of the message itself, for example purposes
sql"insert into idem_data(msg) values (${msg})".update.apply
}
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
spark 의 2: 원리 소개Google Map/Reduce 를 바탕 으로 이 루어 진 Hadoop 은 개발 자 에 게 map, reduce 원 어 를 제공 하여 병렬 일괄 처리 프로그램 을 매우 간단 하고 아름 답 게 만 들 었 습 니 다.S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.