적용 대상: Databricks SQL
뷰와 연결된 메타데이터를 변경합니다.
다음 작업을 수행할 수 있습니다.
- 기존 구체화된 뷰를 새로 고치는 일정을 추가합니다.
- 구체화된 뷰에 대한 기존 새로 고침 일정을 변경합니다.
- 구체화된 뷰에 대한 새로 고침 일정을 삭제합니다. 일정이 삭제되면 최신 데이터를 반영하기 위해 개체를 수동으로 새로 고쳐야 합니다.
뷰 또는 해당 열에 주석을 추가하거나 변경하려면 COMMENT ON사용합니다.
구문
ALTER MATERIALIZED VIEW view_name
{ schedule |
ALTER COLUMN clause |
SET ROW FILTER clause |
DROP ROW FILTER |
SET TAGS clause |
UNSET TAGS clause }
schedule
{
{ ADD | ALTER } SCHEDULE [ REFRESH ]
schedule_clause |
DROP SCHEDULE
}
schedule_clause
{ EVERY number { HOUR | HOURS | DAY | DAYS | WEEK | WEEKS } |
CRON cron_string [ AT TIME ZONE timezone_id ] }
매개 변수
SCHEDULE [ REFRESH ]
schedule_clause구체화된 뷰에 일정을 추가하거나 일정을 변경할 수 있습니다.
EVERY number { HOUR | HOURS | DAY | DAYS | WEEK | WEEKS }
주기적으로 발생하는 새로 고침을 예약하려면
EVERY
구문을 사용합니다.EVERY
구문을 지정하면 스트리밍 테이블 또는 구체화된 뷰는 제공된 값(예:HOUR
,HOURS
,DAY
,DAYS
,WEEK
또는WEEKS
)에 따라 지정된 간격으로 주기적으로 새로 고쳐집니다. 다음 표에서는number
허용되는 정수 값을 나열합니다.시간 단위 정수 값 HOUR or HOURS
1 <= H <= 72 DAY or DAYS
1<은 D이고 <은 31입니다 WEEK or WEEKS
1 <= W <= 8 참고
포함된 시간 단위의 단수 및 복수 형태는 의미상 동일합니다.
CRON cron_string [ AT TIME ZONE timezone_id ]
quartz cron 값을 사용하여 새로 고침을 설정합니다. 유효한 time_zone_values 허용됩니다.
AT TIME ZONE LOCAL
은 지원되지 않습니다.AT TIME ZONE
이 없는 경우 세션 표준 시간대가 사용됩니다.AT TIME ZONE
가 없고 세션 표준 시간대가 설정되지 않은 경우 오류가 발생합니다.SCHEDULE
은SCHEDULE REFRESH
와 의미 체계가 같습니다.
-
중요합니다
이 기능은 공개 미리보기 단계에 있습니다.
열의 속성을 변경합니다.
SET
ROW FILTER 절중요합니다
이 기능은 공개 미리보기 단계에 있습니다.
구체화된 뷰에 행 필터 함수를 추가합니다. 구체화된 뷰에 대한 모든 후속 쿼리는 함수가 부울
TRUE
로 계산되는 행의 하위 집합을 받습니다. 이는 함수가 호출하는 사용자의 ID 또는 그룹 멤버 자격을 검사하여 특정 행을 필터링할지 여부를 결정할 수 있는 세분화된 액세스 제어 목적에 유용할 수 있습니다.DROP ROW FILTER
중요합니다
이 기능은 공개 미리보기 단계에 있습니다.
구체화된 뷰에서 행 필터를 삭제합니다(있는 경우). 이후 쿼리는 자동 필터링 없이 테이블의 모든 행을 반환합니다.
SET TAGS ( { tag_name = tag_value } [, ...] )
중요합니다
이 기능은 공개 미리보기 단계에 있습니다.
구체화된 뷰에 태그를 적용합니다. 구체화된 뷰에
APPLY TAG
태그를 추가할 수 있는 권한이 있어야 합니다.tag_name
리터럴
STRING
이라는 것입니다. 구체화된tag_name
는 뷰나 열 내에서 고유해야 합니다.tag_value
리터럴
STRING
이라는 것입니다.
UNSET TAGS ( tag_name [, ...] )
중요합니다
이 기능은 공개 미리보기 단계에 있습니다.
구체화된 뷰에서 태그를 제거합니다. 구체화된 뷰에서 태그를 제거할 수 있는 권한이 있어야 합니다
APPLY TAG
.tag_name
리터럴
STRING
이라는 것입니다. 구체화된tag_name
는 뷰나 열 내에서 고유해야 합니다.
예제
-- Adds a schedule to refresh a materialized view once a day
-- at midnight in Los Angeles
> ALTER MATERIALIZED VIEW my_mv
ADD SCHEDULE CRON '0 0 0 * * ? *' AT TIME ZONE 'America/Los_Angeles';
-- Alters the schedule to run every two hours for a materialized view
> ALTER MATERIALIZED VIEW my_mv
ALTER SCHEDULE EVERY 2 HOURS;
-- Drops the schedule for a materialized view
> ALTER MATERIALIZED VIEW my_mv
DROP SCHEDULE;