4

많은 의견 :스파크의 오해 RDD 결함 허용

스파크는 hdfs에서 데이터를 복제하지 않습니다.

DAG 그래프에서 작업을 정렬합니다. Spark은 RDD 계보를 만듭니다. RDD가 손실되면 계통도 그래프를 사용하여 재 구축 할 수 있습니다. 계보 그래프에서 RDDS를 다시 계산할 수 있으므로 데이터 복제가 필요 없습니다.

그리고 내 질문은 : 노드가 실패

경우에만 RDD 파티션을 다시 계산합니다 불꽃이 노드에 잃었지만, 어디 recompution 과정에서 필요한 데이터 소스에서 오는가? 노드가 고장 났을 때 부모 RDD가 여전히 존재 함을 의미합니까? 일부 파티션을 잃어버린 RDD에 부모 RDD가 없습니다 (RDD가 스파크 스트리밍 수신기에서와 같이)?

답변

2

계산 과정 중 일부가 손실되면 어떻게됩니까?

  • MR의 핵심 통찰력에 의존하십시오! 결정론은 안전한 재 계산을 제공합니다.
  • 각 RDD의 '계보'를 추적하십시오. 필요한 경우 부모로부터 재 계산할 수 있습니다.
  • 재미있는 점 : 다시 계산하기 위해 작은 상태 만 기록하면됩니다.

Source

Need parent pointer, function applied, and a few other bits. 
Log 10 KB per transform rather than re-output 1 TB -> 2 TB 
아이 RDD는 부모 RDD에서 RDD를 계산하는 방법을 설명하는 메타 데이터이다. What is RDD dependency in Spark?