파이프라인 업데이트가 실행되면 파이프라인에 정의된 구체화된 뷰 및 스트리밍 테이블을 새로 고쳐 결과가 원본 데이터의 현재 상태를 반영합니다. 데이터 세트 새로 고침 방법은 해당 형식 및 새로 고침 유형에 따라 달라집니다. 업데이트를 트리거하고 관리하는 방법은 파이프라인 업데이트 실행을 참조하세요.
새로 고침 유형
기본적으로 파이프라인의 구체화된 모든 뷰 및 스트리밍 테이블은 각 업데이트와 함께 새로 고쳐집니다. 다음 표에서는 각 새로 고침 유형이 작동하는 방식을 요약합니다.
| 업데이트 형식 | 구체화된 뷰 | 스트리밍 테이블 |
|---|---|---|
| 새로 고침(기본값) | 정의 쿼리의 현재 결과를 반영하도록 결과를 업데이트합니다. Azure Databricks 비용을 검사하고 더 효율적일 때 증분 새로 고침을 수행합니다. | 스트리밍 테이블 및 흐름에 정의된 논리를 통해 새 레코드를 처리합니다. |
| 전체 새로 고침 | 결과를 다시 계산하여 정의 쿼리의 현재 결과를 반영합니다. | 스트리밍 테이블에서 데이터를 지우고, 흐름에서 검사점을 지우고, 데이터 원본의 모든 레코드를 다시 처리합니다. |
| 스트리밍 흐름 체크포인트 초기화 | 물질화된 뷰에는 적용되지 않습니다. | 흐름에서 검사점을 지우지만 스트리밍 테이블에서 데이터를 지우지 않고 데이터 원본에서 모든 레코드를 다시 처리합니다. |
새로 고침(기본값)
기본 새로 고침은 정의 쿼리의 현재 결과를 반영하도록 데이터 세트를 업데이트합니다.
스트리밍 테이블은 본질적으로 증분입니다. 스트리밍 테이블 새로 고침은 마지막 업데이트 이후 도착한 레코드만 평가하고 테이블의 현재 정의를 사용하여 추가합니다. 이전 레코드는 다시 처리되지 않으므로 이미 작성된 데이터에 영향을 주는 변경 내용은 적용되지 않습니다. 즉, 스트리밍 테이블의 기본 새로 고침은 데이터 정확성을 더 낮은 시간 및 리소스 비용으로 거래합니다. 이전 데이터를 다시 처리하려면 전체 새로 고침을 실행하거나 흐름 검사점을 다시 설정합니다.
구체화된 뷰는 증분 새로 고침을 시도하지만 테이블을 완전히 정확하게 유지하기 위해 필요한 경우 모든 레코드를 다시 처리합니다. 구체화된 뷰는 다음 두 가지 방법 중 하나를 사용하여 새로 고쳐집니다.
- 증분 새로 고침 은 마지막 업데이트 이후의 변경 내용을 식별하고 새 데이터 또는 수정된 데이터만 병합합니다.
- 전체 새로 고침 은 전체 쿼리를 실행하고 증분 새로 고침이 불가능하거나 비용 효율적이지 않은 경우 기존 데이터를 대체합니다.
기본적으로 Azure Databricks 비용 모델을 사용하여 보다 비용 효율적인 방법을 선택합니다. 새로 고침 정책을 사용하여 이 선택을 재정의할 수 있습니다. 증분 새로 고침에 대한 의미 체계, 요구 사항 및 지원되는 SQL은 구체화된 뷰에 대한 증분 새로 고침을 참조하세요.
전체 새로 고침
전체 새로 고침은 데이터 세트를 정의하는 논리를 통해 원본 데이터의 모든 레코드를 다시 처리합니다.
- 구체화된 뷰의 경우 전체 새로 고침이 전체 결과를 다시 계산합니다. 구체화된 뷰는 항상 일괄 처리 쿼리와 동일한 결과를 반환하므로 기본 새로 고침 및 전체 새로 고침은 동일한 데이터를 생성합니다.
- 스트리밍 테이블의 경우 전체 새로 고침은 테이블을 잘라내고, 흐름에 대한 스트리밍 검사점을 지우고, 원본에서 모든 레코드를 다시 처리합니다.
전체 새로 고침은 모든 원본 데이터, 시간 및 비용 규모를 해당 데이터의 크기로 다시 처리하기 때문입니다. Databricks는 정의 또는 스키마 변경이 기존 데이터와 호환되지 않는 경우와 같이 필요한 경우에만 전체 새로 고침을 실행하는 것이 좋습니다. 원본이 원본 데이터를 더 이상 유지하지 않는 경우(예: 보존 기간을 초과하는 Kafka 토픽) 스트리밍 테이블의 전체 새로 고침은 레코드를 삭제할 수 있습니다.
스트리밍 테이블의 전체 새로 고침을 실행하는 시기 및 방법은 스트리밍 테이블에 대한 전체 새로 고침을 참조하세요.
검사점 다시 설정
검사점 재설정은 스트리밍 테이블에만 적용됩니다. 스트리밍 테이블에 이미 기록된 데이터를 지우지 않고 선택한 흐름에 대한 스트리밍 검사점을 지웁니다. 그런 다음 해당 흐름을 통해 원본의 모든 레코드를 다시 처리합니다. 전체 새로 고침과 달리 기존 테이블 데이터는 유지됩니다.
예를 들어 테이블을 잘라내지 않고 흐름의 논리를 변경한 후 선택한 흐름에 대해 스트리밍 원본을 다시 처리하려는 경우 사용합니다.
검사점 재설정은 Lakeflow Spark 선언적 파이프라인 REST API를 통해 트리거됩니다. 단계는 선택적 스트리밍 흐름의 검사점을 지우기 위한 파이프라인 업데이트 시작을 참조하세요.