Spark 동기 화 데이터 가 온라인 데이터베이스 에 있 는 구덩이
PySpark 추출 데 이 터 를 데이터베이스 에 동기 화 할 때(예 를 들 어 clickhouse,my sql 등 데이터베이스)RDD 의
foreachPartition
,mapPartitions
또는 mapPartitionsWithIndex
등 함 수 를 사용 하면 어떤 데이터 가 여러 번 동기 화 되 어 중복 데이터 문 제 를 일 으 키 는 것 을 발견 할 수 있 습 니 다.원인 및 해결 방안
mapPartitionsWithIndex
의 함 수 를 통 해 partitionIndex
을 인쇄 한 다음 에 로그 에서 보 는 방식 으로 원인 을 찾 을 수 있 습 니 다.종합 적 으로 분석 하면 다음 과 같은 세 가지 원인 으로 인해 발생 할 수 있 습 니 다.spark.speculation=true
(기본 값 은 false)을 실행 할 것 으로 추정 합 니 다.이 매개 변 수 는 같은 task(백업 작업)를 동시에 시작 하여 같은 데이터 블록 을 처리 하고 어느 것 이 일찍 완성 되 었 는 지,어떤 task 의 결 과 를 사용 하 는 동시에 다른 task 를 종료 하 는 역할 을 합 니 다.동기 화 데이터 의 장면 에 대해 이 매개 변 수 는 spark.speculation=false
persist
번
.이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.