메트릭 뷰에 대한 구체화

메트릭 뷰의 구체화는 구체화된 뷰를 사용하여 집계를 미리 계산하여 쿼리를 가속화합니다. Lakeflow 파이프라인은 지정된 메트릭 뷰에 대해 사용자 정의 구체화된 뷰를 오케스트레이션합니다. 쿼리 시 쿼리 최적화 프로그램은 자동 집계 인식 쿼리 일치(쿼리 다시 쓰기)를 사용하여 쿼리를 구체화된 최상의 뷰로 라우팅합니다. 추가 수동 작업 없이 평소와 같이 메트릭 뷰를 쿼리합니다. Databricks는 머티리얼라이제이션을 새로 고침하여 최신 상태로 유지합니다. 또한 더 낮은 비용으로 더 빠르게 쿼리할 수 있도록 어떤 구체화된 뷰를 사용할지 선택합니다.

구체화의 작동 방식

메트릭 뷰의 구체화에는 구체화 정의 및 이에 대한 쿼리 실행의 두 단계가 포함됩니다.

정의 단계

구체화 를 사용하여 메트릭 뷰를 정의 할 때 메트릭 뷰 YAML에서 필드, 측정값 및 새로 고침 일정을 지정합니다. 이 정의에서 Databricks는 구체화된 뷰를 빌드하고 유지 관리하는 관리되는 Lakeflow 파이프라인 을 만듭니다.

메트릭 뷰 정의 및 구현 파이프라인

이렇게 하면 메트릭 정의가 저장되는 방식과 별도로 유지됩니다.

  • 메트릭 뷰 는 구체화 구성(일정 및 세분성)과 함께 메트릭의 필드, 측정값 및 조인을 정의하는 Unity 카탈로그 개체입니다. 메트릭의 의미에 대한 단일 진실 소스입니다.
  • 파이프라인은 해당 정의를 하나 이상의 구체화된 뷰로 구체화하며, 각 뷰는 특정 세분성으로 미리 계산됩니다. Databricks는 쿼리 시 읽을 데이터를 선택합니다.

쿼리 실행

SELECT ... FROM <metric_view>를 실행할 때, 쿼리 최적화기는 집계 인식 쿼리 다시 쓰기를 사용하여 성능을 최적화합니다.

집계 인식 다시 쓰기를 사용하여 쿼리 실행

  • 빠른 경로: 적절한 구체화가 있을 때 물리적으로 구현된 뷰에서 데이터를 읽습니다.
  • 대체 경로: 적절한 구체화를 사용할 수 없는 경우 원본 데이터를 직접 읽습니다.

쿼리 최적화 프로그램은 구체화된 데이터와 원본 데이터 중에서 선택하여 성능과 새로 고침의 균형을 자동으로 조정합니다. 최적화 프로그램에서 사용하는 경로에 관계없이 결과를 투명하게 받습니다. 메트릭 뷰에 대해 쿼리를 실행하는 방법에 대한 자세한 내용은 쿼리 메트릭 뷰를 참조하세요.

요구 사항

메트릭 뷰에 구체화를 사용하려면 다음을 수행합니다.

  • Lakeflow 파이프라인을 실행하려면 작업 공간에 서버 없는 컴퓨트가 활성화되어 있어야 합니다.
  • Databricks Runtime 17.3 이상을 실행하는 SQL 웨어하우스 또는 컴퓨팅 리소스입니다. Databricks Runtime 16.4부터 물질화 없는 메트릭 뷰가 지원됩니다. 각 기능에 대한 최소 런타임은 메트릭 보기 기능 가용성을 참조하세요.

Important

뷰나 소스 테이블이 행 수준 보안(RLS),열 마스크, 속성 기반 접근 제어(ABAC) 정책을 사용할 때는 메트릭 뷰를 구현할 수 없습니다. 소유자의 신원을 사용한 물질화는 미리 계산되기 때문에, 이를 다른 사용자에게 제공하면 쿼리 시점에 강제되는 사용자별 접근 제어를 우회할 수 있습니다. 자세한 내용은 쿼리 리라이트 모드를 참조하세요.

구성 참조

메트릭 뷰 YAML 정의의 최상위 materialization 필드에서 구체화를 구성합니다. 이 필드는 쿼리 다시 쓰기 mode (항상 relaxed), 선택적 새로 고침 schedule및 유지할 목록을 materialized_views 설정합니다. 구체화된 각 뷰는 aggregated특정 차원 및 측정값을 미리 계산하거나 unaggregated전체 데이터 모델을 구체화하는 뷰입니다.

필수 및 선택적 필드, 허용되는 값 및 schedule 절 제한을 포함한 전체 필드별 사양은 구체화를 참조하세요.

예제 정의

다음 예제에서는 집계되지 않은 항목 하나와 집계된 구체화 2개를 사용하여 메트릭 뷰를 정의합니다.

version: 1.1

source: prod.operations.orders_enriched_view

filter: revenue > 0

fields:
  - name: category
    expr: substring(category, 5)

  - name: color
    expr: color

measures:
  - name: total_revenue
    expr: SUM(revenue)

  - name: number_of_suppliers
    expr: COUNT(DISTINCT supplier_id)

materialization:
  schedule: every 6 hours
  mode: relaxed

  materialized_views:
    - name: baseline
      type: unaggregated

    - name: revenue_breakdown
      type: aggregated
      dimensions:
        - category
        - color
      measures:
        - total_revenue
      cluster_by:
        cols:
          - category
          - color
      partition_by:
        - category

    - name: suppliers_by_category
      type: aggregated
      dimensions:
        - category
      measures:
        - number_of_suppliers

메모

materialization 블록은 구체화할 필드를 나열하기 위해 dimensions: 키워드를 사용하지만, 최상위 정의에서는 fields:를 사용합니다. 두 키워드는 동일합니다. 필드를 참조하세요.

revenue_breakdown 구체화는 구체화된 데이터가 물리적으로 배치되는 방식을 제어하기 위해 cluster_bypartition_by를 사용하며, 이는 구체화된 뷰의 CLUSTER BYPARTITION BY 절과 같은 방식입니다. 전체 필드 사양은 Materialization을 참조하세요.

SQL을 사용하여 메트릭 뷰 만들기

카탈로그 탐색기 외부에서 이 메트릭 보기를 만들려면 YAML CREATE OR REPLACE VIEW ... WITH METRICS LANGUAGE YAML AS 을 래핑하고 구분 기호 간에 $$ 정의를 배치합니다.

CREATE OR REPLACE VIEW catalog.schema.orders_materialized WITH METRICS LANGUAGE YAML AS
$$
  version: 1.1

  source: prod.operations.orders_enriched_view

  filter: revenue > 0

  dimensions:
    - name: category
      expr: substring(category, 5)

    - name: color
      expr: color

  measures:
    - name: total_revenue
      expr: SUM(revenue)

    - name: number_of_suppliers
      expr: COUNT(DISTINCT supplier_id)

  materialization:
    schedule: every 6 hours
    mode: relaxed

    materialized_views:
      - name: baseline
        type: unaggregated

      - name: revenue_breakdown
        type: aggregated
        dimensions:
          - category
          - color
        measures:
          - total_revenue

      - name: suppliers_by_category
        type: aggregated
        dimensions:
          - category
        measures:
          - number_of_suppliers
$$

쿼리 다시 쓰기 모드

모드에서 relaxed 자동 쿼리 다시 쓰기는 구체화된 후보 뷰에 쿼리를 제공하는 데 필요한 필드와 측정값이 있는지 여부만 확인합니다.

다음의 검사를 건너뜁니다.

  • 최신성: 구체화된 뷰가 최신 상태인지 확인하지 않습니다.
  • SQL 설정: TIMEZONE 또는 ANSI_MODE와 같은 설정이 일치하는지 확인하지 않습니다.
  • 결정성: 구체화된 결과가 완전히 결정적인지는 확인하지 않습니다.

머티리얼라이제이션과 일치하는 쿼리는 마지막으로 새로 고친 결과를 사용합니다. 일치하지 않는 쿼리는 소스로 폴백하여 라이브 데이터를 반환합니다. 따라서 데이터 새로 고침은 쿼리가 다시 쓰기에 적합한지 여부에 따라 달라질 수 있습니다. 일관성을 확인하려면 머티리얼라이제이션 새로 고침 일정을 원본 파이프라인에 맞추세요. 예를 들어, 소스 데이터가 일괄 처리 파이프라인을 통해 매일 업데이트된다면 그 파이프라인이 완료된 후에 실행되도록 머티리얼라이제이션 새로 고침을 예약하세요. 대안으로, 비집계 머티리얼라이제이션을 사용하여 모든 쿼리가 동일한 스냅샷에서 읽도록 보장합니다.

메트릭 뷰 또는 원본 테이블에서 다음을 사용하는 경우 구체화를 만들 수 없습니다.

  • RLS(행 수준 보안),CLM(열 수준 마스킹) 또는 ABAC 정책 미리 계산된 결과는 쿼리 시간에 적용되어야 하는 사용자별 액세스 제어를 무시할 수 있습니다.
  • 쿼리를 실행하는 사람(예 current_user() : 또는 is_member())에 따라 결과가 변경되는 호출자 종속 식입니다. 구체화는 한 번 미리 계산되고 공유되므로 다른 사용자에게 제공하면 올바르지 않거나 안전하지 않은 결과가 반환됩니다.

Databricks는 구체화를 만들거나 변경하거나 새로 고칠 때 이 제한의 유효성을 검사합니다. 이러한 작업은 오류 조건 METRIC_VIEW_MATERIALIZATION_WITH_INVOKER_DEPENDENT_EXPRESSIONS_NOT_SUPPORTED (SQLSTATE 42K0E)으로 실패합니다. METRIC_VIEW_MATERIALIZATION_WITH_INVOKER_DEPENDENT_EXPRESSIONS_NOT_SUPPORTED를 참조하십시오.

메트릭 뷰에 대한 구체화 형식

다음 섹션에서는 메트릭 뷰에 사용할 수 있는 구체화된 뷰의 유형을 설명하고 데이터 원본 및 쿼리 패턴에 적합한 구성을 선택하는 방법에 대한 지침을 제공합니다.

집계된 형식

이 유형은 대상 범위를 위해 지정된 측정값과 필드 조합에 대한 집계를 미리 계산합니다.

자주 쿼리되는 특정 차원 및 측정값 조합이 있는 경우 집계된 형식을 사용합니다. 집계된 구체화를 사용하면 정확한 일치롤업 일치 전략이 모두 적용되어 해당 패턴에 가장 적합한 쿼리 성능을 제공합니다.

최적의 집계를 위해 다음을 수행합니다.

  • 가장 일반적으로 사용되는 치수를 GROUP BY 절에 포함하세요.
  • 잠재적 필터 열(쿼리 시간에 사용되는 WHERE 열)을 포함합니다.
  • 쿼리에 필요한 가장 자세한 수준으로 구체화합니다. 예를 들어, (region, sku, event_day)의 구체화는 다음 모두에 사용될 수 있습니다:
    • GROUP BY region
    • GROUP BY region, event_month
    • GROUP BY skuWHERE region = 'US'
  • 대부분이 단일 행인 그룹이 생성될 정도로 지나치게 세분화된 차원은 피하세요(예: 밀리초 단위까지 포함된 원시 타임스탬프). 이는 아무런 이점이 없으며 스토리지를 확장합니다.
  • 비가산형 측정값에 주의하세요. 비가산 측정값은 부분 결과(예: COUNT(DISTINCT), MEDIAN 및 백분위수)로부터 재집계할 수 없으며 머티리얼라이제이션과 정확히 일치해야 합니다.

단일 집계는 특정 차원(정확한 일치) 또는 해당 차원의 하위 집합(롤업 일치)과 일치하는 쿼리만 제공할 수 있습니다. Databricks는 다양한 쿼리 패턴에 대해 여러 집계 머티리얼라이제이션을 생성할 것을 권장합니다.

집계되지 않은 형식

이 형식은 집계된 형식에 비해 성능 상승이 적은 더 넓은 범위를 위해 전체 집계되지 않은 데이터 모델( source, joins, filterfields 필드)을 구체화합니다.

다음 중 어느 것이라도 true인 경우 집계되지 않은 형식을 사용합니다.

  • 메트릭 보기에는 비용이 많이 드는 원본 변환 또는 조인이 포함됩니다.
  • 쿼리 패턴은 예측할 수 없거나 다양합니다.
  • 메트릭 뷰를 쿼리하는 모든 사용자는 데이터 내에서 일관성을 확인해야 합니다.

집계되지 않은 머티리얼라이제이션을 사용하면 비용이 많이 드는 원본 뷰와 조인을 모든 쿼리마다 계산하는 대신 새로 고침 시 한 번만 계산합니다. 집계된 구체화와 집계되지 않은 구체화가 모두 있는 경우 Databricks는 집계되지 않은 구체화에서 집계된 구체화를 계산합니다. 이렇게 하면 일관된 스냅샷이 제공되고 원본의 중복 재계산을 방지할 수 있습니다. 집계되지 않은 일치 항목은 쿼리 다시 쓰기 모드에 설명된 제한 사항에 따라 쿼리 셰이프에 관계없이 항상 적격합니다.

원본이 선택적 필터가 없는 직접 테이블 참조인 경우 집계되지 않은 구체화는 도움이 되지 않습니다. 이 경우 원본을 직접 쿼리하는 것에 대한 이점은 없습니다.

이러한 구체화 형식을 사용하는 방법과 시기에 대한 추가 지침은 메트릭 뷰에 대한 구체화 유형 선택을 참조하세요.

자동 쿼리 다시 쓰기

메트릭 뷰를 쿼리할 때 쿼리 다시 쓰기는 쿼리를 사용 가능한 최상의 구체화로 자동으로 라우팅합니다. 정확한 일치, 롤업 일치 및 집계되지 않은 일치의 세 가지 쿼리 다시 쓰기 전략을 사용합니다.

집계 인식 쿼리 다시 쓰기

쿼리는 다음 알고리즘을 사용하여 기본 테이블 대신 최상의 구체화에서 자동으로 실행됩니다.

  1. 먼저 쿼리 최적화 프로그램에서 정확한 일치를 시도합니다.
  2. 정확히 일치하는 항목이 없으면 쿼리 최적화 프로그램에서 롤업 일치를 시도합니다.
  3. 롤업 일치가 없고 집계되지 않은 머티리얼라이제이션이 있으면 쿼리 옵티마이저는 집계되지 않은 일치를 시도합니다.
  4. 집계되지 않은 일치 항목이 없으면 쿼리는 원본 테이블에서 직접 읽습니다.

다음 섹션에서는 각 전략의 작동 방식을 설명합니다.

쿼리 재작성 일치 전략

메모

쿼리 다시 쓰기를 적용하려면 먼저 구체화를 완료해야 합니다.

정확히 일치

쿼리는 구체화에서 미리 계산된 내용을 정확히 묻습니다. 쿼리 다시 쓰기는 추가 작업 없이 저장된 결과를 읽어 빠른 결과를 가능하게 합니다.

정확한 일치를 얻으려면 다음을 수행합니다.

  • 쿼리의 GROUP BY 식은 구체화 차원과 정확히 일치해야 합니다.
  • 쿼리의 측정값은 구체화 측정값의 하위 집합이어야 합니다.

예를 들어 구체화된 항목에는 차원[region, order_date]과 측정값[total_revenue, order_count]이 있습니다. regionorder_date로 그룹화하고 total_revenue를 요청하는 쿼리는 차원이 동일하고 측정값이 미리 계산되었기 때문에 정확한 일치입니다.

롤업 일치

쿼리는 사전 계산된 수준보다 더 상위 수준의 요약을 요청합니다. 최적화 프로그램은 미리 계산된 결과를 읽고 쿼리에 필요한 수준까지 다시 집계합니다.

롤업 매치 자격을 얻으려면:

  • 더 거친 세분화 수준: 쿼리는 구체화된 데이터보다 더 적은 차원 또는 더 큰 시간 단위로 그룹화됩니다.
  • 모든 측정값은 가산적입니다. 쿼리에서 요청하는 모든 측정값은 부분 결과(예 SUMSUM: s 또는 MAXMAXes)를 결합하여 올바르게 다시 계산할 수 있는 측정값이어야 합니다. MEDIAN 그룹 배포를 사용하므로 롤업할 수 없습니다.
  • 참여하는 모든 필터는 결정적 식이어야 합니다. 쿼리에 절이 있는 경우 필터는 WHERE 항상 동일한 입력에 대해 동일한 결과를 생성해야 합니다. 예를 들어, WHERE region = 'US'는 결정적이지만 rand() 또는 uuid()와 같은 식은 그렇지 않습니다.

롤업 매치는 부분 결과에서 올바르게 다시 집계할 수 없기 때문에 비가산 측정값에는 사용할 수 없습니다. 추가 측정값을 참조하세요.

예를 들어, 차원 [region, order_date] 및 측정값 [total_revenue, order_count]이 있는 동일한 구체화를 사용하는 경우 region만 기준으로 그룹화하고 total_revenue를 요청하는 쿼리는 롤업 매치입니다. 쿼리는 구체화된 것보다 적은 차원이 필요하므로 엔진은 일일 합계를 지역 수준 합계로 축소합니다.

메모

메트릭 뷰에서 one_to_many 조인을 사용하는 경우 롤업 매치를 사용할 수 없습니다. 이 경우 모든 구체화는 정확한 일치 로만 돌아갑니다. 일대다 조인에 대한 자세한 내용은 일대다 조인을 참조하세요.

가산적 측정값

기존 집계 구체화에서 다시 집계하여 집계 결과를 정확하게 재계산할 수 있으면 측정값은 가산적입니다. 이는 롤업 일치를 위한 핵심 요구 사항입니다.

DISTINCT를 사용하는 모든 집계(예: COUNT(DISTINCT), SUM(DISTINCT))는 비가산적이므로 롤업할 수 없습니다.

다음 함수는 가산성입니다.

  • SUM
  • COUNT
  • MIN
  • MAX
  • BIT_AND
  • BIT_OR
  • BIT_XOR
  • BOOL_AND
  • BOOL_OR

추가 제한 사항은 추가 측정값에 적용됩니다.

  • 측정값 정의에는 정확히 하나의 집계 함수가 포함되어야 합니다. 정의에 여러 집계(예: sum(cost) + min(revenue))가 결합된 측정값은 롤업 매칭 대상이 아닙니다.
  • 측정값 정의에 FILTER 절이 포함된 경우 결정적이어야 합니다.
  • 측정값은 윈도우 측정값일 수 없습니다 (예: 윈도우 블록으로 정의된 최근 7일 누계 또는 전년 대비 비교).

다음 표에서는 일반적인 측정값 패턴이 형식과 일치하도록 매핑되는 방법을 요약합니다.

측정 패턴 일치 유형 Reason
단일 가산 집계 (SUM, COUNT, MIN, MAX) 롤업 가능 부분 결과에서 다시 집계할 수 있습니다.
COUNT(DISTINCT) 또는 기타 비가산적 집계 정확히 일치하는 경우만 다시 집계할 수 없습니다.
하나의 식에 여러 집계 (SUM(x) + MIN(y)) 정확히 일치하는 경우만 롤업의 개별 집계를 분리할 수 없습니다.
결정론적 FILTER이 있는 가산 집계 롤업 가능 필터는 결정적이며 집계는 가산적입니다.
창 측정값 정확히 일치하는 경우만 창 프레임은 정확한 결 방향에 따라 달라집니다.

집계되지 않은 매치

쿼리는 미리 계산된 집계와 일치하지 않지만 비용이 많이 드는 준비 작업(조인 및 필터)이 이미 완료되었습니다. 쿼리 다시 쓰기는 원본 테이블로 돌아가는 대신 집계되지 않은 구체화의 준비된 데이터 세트에서 시작됩니다.

집계되지 않은 구체화가 있는 경우 이 전략은 원본으로 가기 전에 항상 대체(fallback)로 사용할 수 있습니다. 쿼리 다시 쓰기 모드에 설명된 제한 사항에 따라 모든 쿼리 셰이프에서 사용할 수 있습니다.

예를 들어, 쿼리는 category를 기준으로 그룹화하고 unique_customers를 요청하지만, 해당 필드와 측정값을 포함하는 집계 머티리얼라이제이션은 없습니다. 그러나 조인된 필터링된 데이터 세트가 준비되면 집계되지 않은 구체화가 존재합니다. 쿼리 최적화 프로그램은 원시 테이블을 처음부터 다시 조인하는 대신 준비된 데이터 세트에서 읽고 쿼리 시간에 실행됩니다 GROUP BY category, COUNT(DISTINCT customer_id) .

쿼리가 구체화된 뷰를 사용하고 있는지 확인

쿼리가 구체화된 뷰를 사용하고 있는지 확인하는 방법에는 두 가지가 있습니다.

  • 쿼리 계획을 확인하려면 쿼리에서 EXPLAIN EXTENDED을 실행하세요. 구체화를 사용한 경우 리프 노드에는 __materialization_mat_<pipeline ID>___metric_view_mat_ 및 YAML 파일의 구체화 이름이 포함됩니다.
  • 아래와 같이 쿼리 프로필을 확인합니다.

구체화 사용을 보여 주는 쿼리 프로필

구체화 수명 주기

이 섹션에서는 수명 주기 동안 구체화를 만들고, 관리하고, 새로 고치는 방법을 설명합니다.

만들기 및 수정

메트릭 뷰(또는 카탈로그 탐색기 사용CREATEALTER)를 만들거나 수정하면 메트릭 뷰 정의가 즉시 업데이트됩니다. 구체화된 뷰는 관리되는 파이프라인을 사용하여 백그라운드에서 비동기적으로 새로 고쳐집니다.

카탈로그 탐색기 편집기에서 새 구체화를 정의하려면 다음을 수행합니다.

  1. Materializations를 클릭합니다.
  2. 일정을 설정하려면 일정을 클릭합니다. 간격 기간을 선택하거나 특정 시간에 실행되도록 구체화를 설정할 수 있습니다.
  3. 형식을 선택합니다. 메트릭 뷰당 하나의 집계되지 않은 구체화만 허용됩니다. 자세한 내용은 메트릭 뷰의 구체화 유형을 참조하세요.
  4. 필드 드롭다운을 사용하여 구체화에 포함할 필드를 선택합니다.
  5. 측정값 드롭다운을 사용하여 포함할 측정값을 선택합니다.

메트릭 뷰를 만들 때 Databricks는 Lakeflow 파이프라인을 만들고 구체화된 뷰가 지정된 경우 즉시 초기 업데이트를 예약합니다. 메트릭 뷰는 물리적으로 데이터 구조를 생성하지 않고 원본 데이터에서 직접 쿼리하여 쿼리 가능합니다.

메트릭 보기를 수정할 때 처음으로 구체화를 사용하도록 설정하지 않는 한 Databricks는 새 업데이트를 예약하지 않습니다. 구체화된 뷰는 다음 예약된 업데이트가 완료될 때까지 자동 쿼리 다시 쓰기에 사용되지 않습니다.

구체화 일정을 변경해도 새로 고침이 트리거되지는 않습니다.

일정이 없으면 파이프라인은 생성 시 초기 업데이트를 실행하지만, 그 이후의 새로 고침은 수동으로 실행해야 하며 그렇지 않으면 데이터가 최신 상태를 잃게 됩니다. Databricks는 테스트하거나 프로토타입을 생성하지 않는 한 데이터가 최신 상태로 유지되도록 항상 일정을 정의하는 것이 좋습니다.

새로 고침 동작을 더 세부적으로 제어하는 경우 수동 새로 고침을 참조하세요.

기본 파이프라인 검사

메트릭 뷰의 구체화는 Lakeflow 파이프라인을 사용하여 구현됩니다. 다음 두 가지 방법으로 파이프라인에 액세스할 수 있습니다.

  • 카탈로그 탐색기: 메트릭 보기의 개요 탭에는 새로 고침 일정 제목 아래에 직접 링크가 포함되어 있습니다. 카탈로그 탐색기에 액세스하는 방법을 알아보려면 카탈로그 탐색기란?을 참조하세요.
  • SQL 사용: 실행 DESCRIBE EXTENDED. 새로 고침 정보 섹션에는 파이프라인 링크와 현재 새로 고침 상태가 포함됩니다.
DESCRIBE EXTENDED my_metric_view;

예시 출력:

-- Returns additional metadata such as parent schema, owner, access time etc.
> DESCRIBE EXTENDED my_metric_view;
                      col_name                       data_type    comment
 ------------------------------- ------------------------------ ----------
                           ...                             ...        ...

 # Detailed Table Information
                           ...                             ...

                      Language                            YAML
              Table properties                             ...
 # Refresh Information
         Latest Refresh Status                       Succeeded
                Latest Refresh                     https://...
              Refresh Schedule                   EVERY 6 HOURS

수동 새로 고침

Lakeflow 파이프라인 페이지 링크에서 파이프라인 업데이트를 수동으로 시작하여 머티리얼리제이션을 업데이트할 수 있습니다. 다음 SQL 명령을 사용하여 수동 새로 고침을 트리거할 수도 있습니다.

REFRESH MATERIALIZED VIEW <metric-view-name>

증분 새로 고침

구체화된 뷰는 가능하면 증분 새로 고침을 사용하며 데이터 원본 및 계획 구조와 관련하여 표준 구체화된 뷰와 동일한 제한 사항이 있습니다.

필수 구성 요소 및 제한 사항에 대한 자세한 내용은 구체화된 뷰에 대한 증분 새로 고침을 참조하세요.

Billing

구체화 뷰를 새로 고침 시 Lakeflow 파이프라인 사용 요금이 발생합니다. 파이프라인의 DBU 사용량을 찾으려면 서버리스 파이프라인의 DBU 사용량은 무엇인가요?를 참조하세요.

알려진 제한 사항

메트릭 뷰의 구체화에는 다음과 같은 제한 사항이 적용됩니다.

  • 매개 변수를 정의하는 메트릭 뷰는 구체화할 수 없습니다.
  • 메트릭 뷰에 대한 구체화를 만든 후에는 소유자를 변경할 수 없습니다.
  • Databricks는 구체화된 메트릭 뷰의 그룹 소유권을 지원하지 않습니다.
  • 일대다 조인을 사용하는 메트릭 보기에는 정확한 일치 전략만 사용할 수 있습니다.
  • 구체화 scheduleTRIGGER ON UPDATE 절을 지원하지 않습니다.