Condividi tramite


Usare SQL per creare e gestire visualizzazioni delle metriche

Questa pagina illustra come creare e gestire le visualizzazioni delle metriche usando SQL.

Prerequisiti

  • È necessario disporre SELECT dei diritti sugli oggetti dati di origine.
  • È necessario avere il CREATE TABLE privilegio e il USE SCHEMA privilegio nello schema in cui si vuole creare la visualizzazione delle metriche.
  • È inoltre necessario disporre del USE CATALOG permesso sul catalogo principale dello schema.
  • autorizzazioni per l'uso su un Magazzino SQL o un'altra risorsa computazionale in esecuzione su Databricks Runtime 17.2 o superiore.

Un amministratore del metastore o il proprietario del catalogo può concederti tutti questi privilegi. Un proprietario o un utente dello schema con il privilegio MANAGE può concederti i privilegi USE SCHEMA e CREATE TABLE sullo schema.

Creare una visualizzazione delle metriche

Usare CREATE VIEW con la WITH METRICS clausola per creare una visualizzazione metrica. La visualizzazione delle metriche deve essere definita con una specifica YAML valida nel corpo. I dati di origine per una vista metrica possono essere una tabella, una vista o una query SQL.

I dati di origine per la vista metrica successiva sono la tabella samples.tpch.orders disponibile nel catalogo degli esempi per la maggior parte delle distribuzioni di Azure Databricks. Il DDL SQL seguente crea una vista metrica denominata orders_metric_view nel catalogo e nello schema correnti. Per specificare un catalogo e uno schema diversi, usare lo spazio dei nomi a tre livelli del catalogo Unity.

È possibile aggiungere commenti a livello di tabella e a livello di colonna alla definizione della vista metrica.

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')
$$

Modificare una visualizzazione delle metriche

Per apportare modifiche alla definizione associata a una visualizzazione metrica, usare ALTER VIEW. Nell'esempio seguente vengono aggiunti commenti alle dimensioni e alle misure nella orders_metric_view visualizzazione metrica.

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"
$$

Concedere privilegi per una visualizzazione delle metriche

Una vista metrica è un oggetto di sicurezza del catalogo Unity e segue lo stesso modello di autorizzazione di altre viste. I privilegi sono gerarchici, quindi i privilegi su un metastore, un catalogo o uno schema si estendono agli oggetti contenuti al loro interno. Nell'esempio seguente vengono concessi privilegi minimi necessari per gli utenti del data_consumers gruppo per eseguire query su una visualizzazione metrica.

GRANT SELECT ON orders_metric_view to `data-consumers`;

Per altre informazioni sui privilegi nel catalogo unity, vedere Gestire i privilegi nel catalogo unity. Per altre informazioni sulla creazione e la gestione dei gruppi, vedere Gruppi.

Ottenere la definizione della visualizzazione delle metriche

Usare DESCRIBE TABLE EXTENDED con il parametro facoltativo AS JSON per visualizzare la definizione per una visualizzazione metrica. Il AS JSON parametro è facoltativo. Ometterlo fornisce un output migliore per i lettori umani, mentre includerlo è preferibile per le applicazioni automatizzate. L'esempio seguente restituisce una stringa JSON che descrive la visualizzazione delle metriche e i relativi componenti.

DESCRIBE TABLE EXTENDED orders_metric_view AS JSON

Eliminare una visualizzazione delle metriche

Usare la sintassi DROP VIEW per eliminare una visualizzazione delle metriche.

DROP VIEW orders_metric_view;

Passaggi successivi

Dopo aver creato una visualizzazione delle metriche con SQL, esplorare questi argomenti correlati:

Eseguire query e usare le visualizzazioni delle metriche

Funzionalità avanzate per la visualizzazione delle metriche

Metodi di creazione alternativi

Governance e sicurezza