데이터 통합Pipeline Builder파이프라인 출력파괴적 변경

본 번역은 검증되지 않았습니다. AIP를 통해 영문원문으로부터 번역되었습니다.

파괴적 변경

파괴적 변경은 스트리밍 또는 점진적 파이프라인에서 상태유지 함수가 수정될 때 발생합니다. 변환은 행 수준 또는 상태유지 중 하나입니다.

  • 행 수준 변환: 단일 행의 데이터만 필요로 하여 결과를 생성합니다. 예를 들면 숫자 곱하기 또는 필터가 있습니다.
  • 상태유지 함수: 여러 행의 데이터가 필요한 변환입니다.

주요 상태유지 함수는 네 가지입니다:

  • 집계 (스트리밍에서의 윈도우 내 집계)
  • 외부 캐싱 조인 (스트리밍에서만)
  • 하트비트 감지 (스트리밍에서만)
  • 시간 제한 중복 제거 (스트리밍에서만)
  • 시간 제한 이벤트 시간 정렬 (스트리밍에서만)

상태유지 함수가 수정되면 이전 결과물이 더 이상 정확하지 않을 수 있습니다. 예를 들어, 짝수를 필터링하여 해당 집합의 합계를 구한다고 가정해 보겠습니다. 필터를 모든 홀수로 변경하면 기존 상태는 짝수의 합계가 되지만, 새로 필터링된 값은 모두 홀수가 됩니다. 따라서 합계가 무엇을 나타내는지 이제 모호해지며, 짝수 집합의 합계와 홀수 집합의 합계가 더해진 합계가 됩니다. 상태를 새로 고치려면 재생을 실행할 수 있습니다.

재생에는 두 가지 유형이 있습니다:

  • 입력 데이터 시작부터 재생: 데이터 시작부터 파이프라인을 재생합니다. 입력이 스트림인지 점진적 데이터셋인지에 따라 스트림의 시작 또는 입력 데이터셋의 첫 번째 트랜잭션입니다.

입력 데이터 시작부터 재생 전략이 있는 배포 패널.

  • 일정 시간 전부터 재생 (스트리밍에서만 사용 가능): 지정된 시간 전부터 시작하는 상류 데이터를 사용하여 파이프라인을 재생합니다. 세분화된 재생은 지정된 시간 전에 커밋된 첫 번째 트랜잭션을 포함하여 모든 데이터가 포함되며, 그 이전의 데이터는 처리되지 않습니다. 이는 지정한 시간 전의 데이터가 하나의 트랜잭션 만큼 얻을 수 있음을 의미합니다.

일정 시간 전부터 재생 전략이 있는 배포 패널.

재생은 선택 사항일 수도 있고 필수 사항일 수도 있습니다. 파괴적 변경의 경우, Pipeline builder는 이 변경 사항을 자동으로 감지하고 배포 시 재생을 필요로 합니다. 아래 이미지는 점진적 파이프라인에서 강제 재생을 보여줍니다.

파괴적 변경으로 인한 강제 재생이 있는 배포 패널.

파이프라인을 재생하면 길게는 며칠까지 이어질 수 있는 긴 다운타임이 발생할 수 있습니다. 파이프라인을 재생할 때 스트림 기록이 손실되고 모든 하류 파이프라인 소비자는 재생을 해야 합니다.