Aracılığıyla paylaş


Ölçüm görünümleri oluşturmak ve yönetmek için SQL kullanma

Bu sayfada SQL kullanarak ölçüm görünümlerinin nasıl oluşturulacağı ve yönetileceğini açıklanmaktadır.

Önkoşullar

  • Kaynak veri nesnelerinde ayrıcalıklarınız olmalıdır SELECT .
  • Ölçüm görünümünü oluşturmak istediğiniz şemada ve ayrıcalıklarına sahip olmalısınız.
  • Şemanın bağlı olduğu ana katalog üzerinde de bir ayrıcalığınız olmalıdır.
  • SQL ambarı veya Databricks Runtime 17.2 veya üzerini çalıştıran diğer işlem kaynağı üzerindeki izinleri KULLANABILIR.

Meta veri deposu yöneticisi veya katalog sahibi size bu ayrıcalıkların tümünü verebilir. Şema sahibi veya MANAGE ayrıcalığına sahip bir kullanıcı size şemada USE SCHEMA ve CREATE TABLE ayrıcalıkları verebilir.

Ölçüm görünümü oluştur

Ölçüm görünümü oluşturmak için CREATE VIEW ve WITH METRICS yan tümcesiyle kullanın. Ölçüm görünümü, gövdede geçerli bir YAML belirtimi ile tanımlanmalıdır. Ölçüm görünümünün kaynak verileri tablo, görünüm veya SQL sorgusu olabilir.

Aşağıdaki ölçüm görünümünün kaynak verileri, çoğu Azure Databricks dağıtımı için örnek kataloğunda bulunan tablodur samples.tpch.orders . Geçerli katalog ve şemada orders_metric_view adlı bir ölçüm görünümü oluşturan aşağıdaki SQL DDL'yi kullanın. Farklı bir katalog ve şema belirtmek için Unity Kataloğu üç düzeyli ad alanını kullanın.

Ölçüm görünümü tanımına tablo düzeyi ve sütun düzeyi açıklamalar ekleyebilirsiniz.

CREATE OR REPLACE VIEW orders_metric_view
WITH METRICS
LANGUAGE YAML
AS $$
  version: 1.1
  comment: "Orders KPIs for sales and financial analysis"
  source: samples.tpch.orders
  filter: o_orderdate > '1990-01-01'
  dimensions:
    - name: Order Month
      expr: DATE_TRUNC('MONTH', o_orderdate)
    - name: Order Status
      expr: CASE
        WHEN o_orderstatus = 'O' then 'Open'
        WHEN o_orderstatus = 'P' then 'Processing'
        WHEN o_orderstatus = 'F' then 'Fulfilled'
        END
    - name: Order Priority
      expr: SPLIT(o_orderpriority, '-')[1]
  measures:
    - name: Order Count
      expr: COUNT(1)
    - name: Total Revenue
      expr: SUM(o_totalprice)
    - name: Total Revenue per Customer
      expr: SUM(o_totalprice) / COUNT(DISTINCT o_custkey)
    - name: Total Revenue for Open Orders
      expr: SUM(o_totalprice) FILTER (WHERE o_orderstatus='O')
$$

Ölçüm görünümünü değiştir

Ölçüm görünümüyle ilişkili tanımda değişiklik yapmak için kullanın ALTER VIEW. Aşağıdaki örnek ölçüm görünümünde boyutlara ve ölçülere orders_metric_view açıklamalar ekler.

ALTER VIEW orders_metric_view
AS $$
  version: 1.1
  comment: "Orders KPIs for sales and financial analysis"
  source: samples.tpch.orders
  filter: o_orderdate > '1990-01-01'
  dimensions:
    - name: Order Month
      expr: DATE_TRUNC('MONTH', o_orderdate)
      comment: "Month of order"
    - name: Order Status
      expr: CASE
        WHEN o_orderstatus = 'O' then 'Open'
        WHEN o_orderstatus = 'P' then 'Processing'
        WHEN o_orderstatus = 'F' then 'Fulfilled'
        END
      comment: "Status of order: open, processing, or fulfilled"
    - name: Order Priority
      expr: SPLIT(o_orderpriority, '-')[1]
      comment: "Numeric priority 1 through 5; 1 is highest"
  measures:
    - name: Order Count
      expr: COUNT(1)
    - name: Total Revenue
      expr: SUM(o_totalprice)
      comment: "Sum of total price"
    - name: Total Revenue per Customer
      expr: SUM(o_totalprice) / COUNT(DISTINCT o_custkey)
      comment: "Sum of total price by customer"
    - name: Total Revenue for Open Orders
      expr: SUM(o_totalprice) FILTER (WHERE o_orderstatus='O')
      comment: "Potential revenue from open orders"
$$

Ölçüm görünümü üzerinde ayrıcalık tanıma

Metri̇k görünümü, Unity Catalog'un güvenli hale getirilebilen bir nesnesidir ve diğer görünümlerle aynı izin modelini takip eder. Ayrıcalıklar hiyerarşiktir, bu nedenle bir meta veri deposu, katalog veya şemadaki ayrıcalıklar içindeki nesnelere otomatik olarak aktarılır. Aşağıdaki örnek, gruptaki data_consumers kullanıcıların ölçüm görünümünü sorgulaması için gereken en düşük ayrıcalıkları verir.

GRANT SELECT ON orders_metric_view to `data-consumers`;

Unity Kataloğu'ndaki ayrıcalıklar hakkında daha fazla bilgi edinmek için bkz. Unity Kataloğu'nda ayrıcalıkları yönetme. Grup oluşturma ve yönetme hakkında daha fazla bilgi edinmek için bkz. Gruplar.

Ölçüm görünümü tanımını al

Ölçek görünümünün tanımını görüntülemek için DESCRIBE TABLE EXTENDED isteğe bağlı AS JSON parametresiyle kullanın. AS JSON parametresi isteğe bağlıdır. Bu özelliğin atlanması, insan okuyucular için daha iyi bir çıkış sağlarken, makine tüketicileri açısından dahil edilmesi daha iyi bir sonuç verir. Aşağıdaki örnek, ölçüm görünümünü ve bileşenlerini açıklayan bir JSON dizesi döndürür.

DESCRIBE TABLE EXTENDED orders_metric_view AS JSON

Ölçüm görünümünü kaldır

Ölçüm görünümünü silmek için söz dizimlerini kullanın DROP VIEW .

DROP VIEW orders_metric_view;

Sonraki Adımlar

SQL kullanarak bir ölçüm görünümü oluşturduğunuza göre şu ilgili konuları keşfedin:

Ölçüm görünümlerini sorgulama ve kullanma

Gelişmiş ölçüm görünümü özellikleri

Alternatif oluşturma yöntemleri

İdare ve güvenlik