적용 대상:
Databricks SQL
스트리밍 테이블 또는 구체화된 뷰에 대한 데이터를 새로 고칩니다. 데이터는 기본적으로 동기적으로 새로 고쳐집니다.
DESCRIBE EXTENDED실행하여 새로 고침 상태를 추적할 수 있습니다.
참고
구체화된 뷰 및 스트리밍 테이블에 대한 만들기 및 새로 고침 작업은 서버리스 Lakeflow 파이프라인을 통해 제공됩니다. 카탈로그 탐색기를 사용하여 UI에서 지원 파이프라인에 대한 세부 정보를 볼 수 있습니다. 카탈로그 탐색기에 대해 알고 싶다면 을 참조하십시오..
참고
REFRESH MATERIALIZED VIEW 구체화된 메트릭 뷰에도 적용됩니다. 메트릭 뷰를 백업하는 구체화를 수동으로 새로 고치는 데 사용합니다.
메트릭 뷰의 구체화를 참조하세요.
구문
REFRESH { MATERIALIZED VIEW | [ STREAMING ] TABLE } table_name
[ FULL ] [ WHERE predicate ] [ SYNC | ASYNC ]
또는 동일한 명령의 FULLWHERESYNCASYNC 하위 집합을 지정할 수 있습니다.
매개 변수
-
새로 고칠 구체화된 뷰 또는 스트리밍 테이블을 식별합니다. 이름에는 임시 사양 또는 옵션 사양이 포함되어서는 안됩니다. 개체를 찾을 수 없는 경우 Azure Databricks에서 TABLE_OR_VIEW_NOT_FOUND 오류가 발생합니다.
가득한
전체 새로 고침을 수행할지 여부입니다.
- 구체화된 뷰의 경우 전체 새로 고침은 원본에서 사용할 수 있는 모든 데이터를 처리합니다.
- 스트리밍 테이블의 경우 전체 새로 고침은 테이블을 잘라내고 스트리밍 테이블의 최신 정의를 사용하여 원본에서 사용할 수 있는 모든 데이터를 처리합니다.
전체 새로 고침이 기존 데이터를 자르기 때문에 전체 데이터 기록을 유지하지 않거나 Kafka와 같은 짧은 보존 기간이 있는 원본에서는 전체 새로 고침을 호출하지 않는 것이 좋습니다. 더 이상 원본에서 데이터를 사용할 수 없는 경우 이전 데이터를 복구하지 못할 수 있습니다.
WHERE 조건자
적용 대상:절로
FLOW REPLACE WHERE만든
스트리밍 테이블 확인이 단일 새로 고침에 대한 흐름의 조건자를 재정의
REPLACE WHERE합니다. 새로 고침은 대상에서 일치하는predicate행만 삭제하고 원본에서 다시 계산합니다. 흐름의 정의된 조건자는 변경되지 않고 다음 새로 고침 시 다시 적용되므로 조건자 재정의는 테이블 정의를 수정하지 않는 일회성 작업입니다. 일회성 백필 또는 수정에 사용합니다. 독립 실행형 스트리밍 테이블은 REPLACE WHERE 흐름을 참조하세요.이
WHERE절은 흐름이 .로 만들어진FLOW REPLACE WHERE스트리밍 테이블에서만 지원됩니다.WHERE다른 스트리밍 테이블이나 구체화된 뷰에서 지정하면 오류가 반환됩니다.SYNC
동기 새로 고침을 수행할지 여부입니다. 이 명령은 구체화된 뷰 또는 스트리밍 테이블이 만들어지고 초기 데이터 로드가 완료될 때까지 차단됩니다.
이 옵션은 기본 동작입니다.
비동기
Lakeflow 파이프라인에서 백그라운드 작업을 시작하는 비동기 새로 고침을 수행할지 여부입니다. 이 명령은 구체화된 뷰 또는 스트리밍 테이블을 지원하는 파이프라인에 대한 링크와 함께 데이터 로드가 완료되기 직전에 반환됩니다. 링크를 방문하여 새로 고침 상태를 확인할 수 있습니다.
비동기 새로 고침을 수행할지 지정
ASYNC해야 합니다. 이 작업은 키워드가 지정되지 않은 경우 동기적으로 수행됩니다.
예제
-- Refreshes the materialized view to reflect the latest available data
> REFRESH MATERIALIZED VIEW catalog.schema.view_name;
-- Refreshes the streaming table to process the latest available data
-- The current catalog and schema will be used to qualify the table
> REFRESH STREAMING TABLE st_name;
-- Truncates the table and processes all data from scratch for the streaming table
> REFRESH STREAMING TABLE cat.db.st_name FULL;
-- Overrides the REPLACE WHERE predicate for a single asynchronous refresh.
-- Only rows matching id = 3 are recomputed. The flow's static predicate is unchanged.
> REFRESH STREAMING TABLE rep_st WHERE id = 3 ASYNC;