다음을 통해 공유


.alter materialized-view

적용 대상: ✅Microsoft Fabric✅Azure Data Explorer

구체화된 뷰 변경은 뷰의 기존 데이터를 유지하면서 구체화된 뷰의 쿼리를 변경하는 데 사용할 수 있습니다.

Warning

구체화된 뷰를 변경할 때는 주의해야 합니다. 잘못 사용하면 데이터가 손실 될 수 있습니다.

사용 권한

이 명령을 실행하려면 최소한 구체화된 뷰 관리자 권한이 있어야 합니다.

구문

.altermaterialized-view [ with(PropertyName = PropertyValue,...)] MaterializedViewName SourceTableName{쿼리 on table }

구문 규칙에 대해 자세히 알아봅니다.

매개 변수

이름 Type 필수 설명
PropertyName, PropertyValue string 지원되는 속성 목록에서 이름 및 값 쌍 형식의 속성 목록입니다.
MaterializedViewName string ✔️ 구체화된 뷰의 이름입니다.
SourceTableName string ✔️ 뷰가 정의된 원본 테이블의 이름입니다.
쿼리 string ✔️ 구체화된 뷰의 쿼리 정의입니다.

지원되는 속성

PropertyName PropertyValue ) = 절에서 with (지원되는 속성은 다음과 같습니다. 모든 속성은 선택 사항입니다.

속성 형식 설명
lookback timespan 구체화된 뷰에 arg_max//arg_mintake_any 만 유효합니다. 중복이 예상되는 기간을 제한합니다. 예를 들어 보기에 arg_max 6시간의 조회가 지정된 경우 새로 수집된 레코드와 기존 레코드 간의 중복 제거는 최대 6시간 전에 수집된 레코드만 고려합니다.

조회는 을 기준으로 합니다 ingestion_time. 조회 기간을 잘못 정의하면 구체화된 뷰에서 중복될 수 있습니다. 예를 들어 특정 키에 대한 레코드가 동일한 키에 대한 레코드를 수집한 후 10시간 후에 수집되고 조회가 6시간으로 설정된 경우 해당 키는 보기에서 중복됩니다. 조회 기간은 구체화 시간과 쿼리 시간 모두에 적용됩니다.
autoUpdateSchema bool 원본 테이블 변경에 대한 뷰를 자동으로 업데이트할지 여부입니다. 기본값은 false입니다. 이 옵션은 열의 인수가 있는 경우에만 형식 arg_max(Timestamp, *)//arg_min(Timestamp, *)take_any(*) 보기에만 유효합니다.* 이 옵션을 설정 true하면 원본 테이블의 변경 내용이 구체화된 뷰에 자동으로 반영됩니다.
dimensionTables 배열 뷰에 차원 테이블의 배열을 포함하는 동적 인수입니다. 쿼리 매개 변수를 참조하세요.
폴더 string 구체화된 뷰의 폴더입니다.
docString string 구체화된 뷰를 문서화하는 문자열입니다.

반품

출력 스키마:

속성 형식 Description
이름 string 구체화된 뷰의 이름입니다.
SourceTable string 뷰가 정의된 원본 테이블의 이름입니다.
쿼리 string 구체화된 뷰의 쿼리 정의입니다.
MaterializedTo datetime 원본 테이블에서 구체화된 최대 ingestion_time() 타임스탬프입니다. 자세한 내용은 구체화된 뷰의 작동 방식을 참조 하세요.
LastRun datetime 마지막으로 구체화를 실행했습니다.
LastRunResult string 마지막 실행의 결과입니다. 성공한 실행에 대해 반환하고, 그렇지 않으면 Failed반환 Completed 합니다.
IsHealthy bool true 보기가 정상 false 으로 간주되면 그렇지 않습니다. 뷰가 지난 1시간MaterializedTo (보다 ago(1h)큼)까지 성공적으로 구체화된 경우 보기가 정상으로 간주됩니다.
IsEnabled bool true보기가 활성화되면(구체화된 뷰 사용 안 함 또는 사용 설정 참조)
폴더 string 구체화된 뷰가 만들어지는 폴더입니다.
DocString string 구체화된 뷰에 할당된 설명입니다.
AutoUpdateSchema bool 자동 업데이트에 뷰를 사용할 수 있는지 여부입니다.
EffectiveDateTime datetime 보기의 유효 날짜 시간( 생성 시간 동안 결정됨)(참조 .create materialized-view).
되돌아보기 timespan 중복이 예상되는 기간을 제한하는 시간 범위입니다.

예제

구체화된 뷰의 쿼리 정의 수정

다음 명령은 구체화된 뷰 MyView의 쿼리 정의를 수정합니다.

.alter materialized-view MyView on table MyTable
{
    MyTable | summarize arg_max(Column3, *) by Column1
}

출력

속성 SourceTable 쿼리 MaterializedTo LastRun LastRunResult IsHealthy IsEnabled 폴더 DocString AutoUpdateSchema EffectiveDateTime 되돌아보기
MyView MyTable MyTable | column1로 arg_max(Column3, *) 요약 2023-02-26T16:40:03.3345704Z 2023-02-26T16:44:15.9033667Z Completed true true false 2023-02-23T14:01:42.5172342Z

사용 사례

  • 뷰에 집계를 추가합니다. 예를 들어 뷰 쿼리를 T | summarize count(), min(Value) by Id로 변경하여 집계를 T | summarize count(), min(Value), avg(Value) by Id추가 avg 합니다.
  • 요약 연산자가 아닌 변경 연산자입니다. 예를 들어 으로 변경하여 일부 레코드를 필터링합니다 T | summarize arg_max(Timestamp, *) by User T | where User != 'someone' | summarize arg_max(Timestamp, *) by User.
  • 원본 테이블의 변경으로 인해 쿼리를 변경하지 않고 변경합니다. 예를 들어 설정되지 않은 뷰 T | summarize arg_max(Timestamp, *) by Id를 가정합니다 autoUpdateSchema (명령 참조 .create materialized-view ). 뷰의 원본 테이블에서 열을 추가하거나 제거하면 보기가 자동으로 비활성화됩니다. 정확히 동일한 쿼리를 사용하여 alter 명령을 실행하여 구체화된 뷰의 스키마를 새 테이블 스키마에 맞게 변경합니다. 구체화된 뷰 사용 명령을 사용하여 변경 후 뷰명시적으로 사용하도록 설정해야 합니다.

제한 사항

  • 지원되지 않는 변경 내용:

    • 식별로 구체화된 뷰 그룹에 대한 변경 내용입니다.
    • 열 형식 변경
    • 열 이름 바꾸기 예를 들어 열을 삭제 count_ 하도록 뷰 T | summarize count() by IdT | summarize Count=count() by Id 변경하고 처음에는 null만 포함하는 새 열을 Count만듭니다.
  • 기존 데이터에 미치는 영향:

    • 구체화된 뷰를 변경해도 기존 데이터에는 영향을 주지 않습니다.
    • 쿼리에 필터를 추가하면 새로 수집된 레코드에만 적용되며 이미 구체화된 레코드는 변경되지 않습니다.
      • alter 명령이 null 값을 수정한 후 수집된 레코드가 수집될 때까지 새 열은 모든 기존 레코드에 대해 null을 받습니다.
      • 예: 뷰 T | summarize count() by bin(Timestamp, 1d) 가 .로 변경됩니다 T | summarize count(), sum(Value) by bin(Timestamp, 1d). 보기를 변경하기 전에 레코드가 이미 처리된 특정 Timestamp=T 레코드의 경우 열에 sum 부분 데이터가 포함됩니다. 이 보기에는 변경 실행 후에 처리된 레코드만 포함됩니다.