ZOBRAZIT STATISTIKU

Platí pro:check marked yes Databricks SQL check marked yes Databricks Runtime 18.3 and above

Vrátí statistiku optimalizátoru pro tabulku jako dokument JSON, včetně statistik na úrovni tabulky a volitelně statistiky pro jednotlivé sloupce.

Databricks doporučuje SHOW STATISTICS čtení statistik optimalizátoru programově. Vrátí pouze statistiky, bez schématu, úložiště, vlastností, oddílů a dalších metadat zahrnutých v DESCRIBE TABLE EXTENDED ... JAKO JSON. Použít ANALYZE TABLE ... VÝPOČETNÍ STATISTIKA (nebo prediktivní optimalizace) ke shromažďování statistik, které tento příkaz hlásí.

Požadována oprávnění

Pokud chcete spustit SHOW STATISTICS tabulku katalogu Unity, potřebujete:

  • USE CATALOG v nadřazené katalogu.
  • USE SCHEMA v nadřazené schématu.
  • SELECT v tabulce nebo vlastnictví tabulky.

Syntax

SHOW STATISTICS [ { FROM | IN } ] table_name
    [ FOR COLUMNS column_name [, ...] | FOR ALL COLUMNS ]
    AS JSON

Klíčová FROM slova jsou IN volitelná a zaměnitelná.

Parameters

  • table_name

    Identifikuje tabulku, pro kterou se mají hlásit statistiky. Název nesmí obsahovat dočasnou specifikaci ani specifikaci možností.

    Pokud tabulku nenajdete, Azure Databricks vyvolá chybu TABLE_OR_VIEW_NOT_FOUND.

    Zobrazení (dočasná nebo trvalá) se nepodporují. Vyvolání SHOW STATISTICS zobrazení vyvolá EXPECT_TABLE_NOT_VIEW.NO_ALTERNATIVE. Slouží DESCRIBE EXTENDED k zobrazení metadat.

  • PRO COLUMNScolumn_name [, ...]

    Přidá položku statistics.column_statistics pro každý pojmenovaný sloupec.

    Pokud některý pojmenovaný sloupec v tabulce neexistuje, příkaz vyvolá COLUMN_NOT_FOUND.

  • PRO VŠECHNY COLUMNS

    Přidá položku statistics.column_statistics pro každý sloupec nejvyšší úrovně s atomovým typem.

    Sloupce, jejichž datový typ je STRUCT, ARRAY nebo MAP jsou vyloučeny, protože optimalizátor neshromažďuje statistiky o složitých typech. Vnořená pole nejsou vyčíslována.

  • JAKO JSON

    Required. Výsledek se vrátí jako jeden formát JSON STRING.

Výstup ve formátu JSON

Vrácený dokument JSON používá následující schéma:

{
  "table_name": "<table_name>",
  "catalog_name": "<catalog_name>",
  "namespace": ["<schema_name>"],
  "schema_name": "<schema_name>",
  "statistics": {
    "size_in_bytes": <bytes>,
    "num_rows": <count>,
    "collection_source": "<collection_source>",
    "created_at": "<created_at_timestamp>",
    "column_statistics": {
      "<column_name>": {
        "min": "<min_value>",
        "max": "<max_value>",
        "distinct_count": <count>,
        "num_nulls": <count>,
        "avg_len": <bytes>,
        "max_len": <bytes>,
        "has_histogram": <boolean>,
        "has_mcv": <boolean>,
        "has_kll_sketch": <boolean>
      }
    }
  }
}
  • statistics.size_in_bytes

    Celková velikost dat tabulky v bajtech, jak se označuje jako optimalizátor. Vynecháno, pokud neexistují žádné statistiky na úrovni tabulky.

  • statistics.num_rows

    Počet řádků, jak se označuje optimalizátor. null pokud se neshromažďuje.

  • statistics.collection_source

    Jak se vytvořily statistiky na úrovni tabulky. Jedna z těchto možností:

    • Ruční analýza – shromážděna uživatelem ANALYZE TABLE ... COMPUTE STATISTICS.
    • Automatické statistiky – shromažďovány automaticky během zápisu.
    • Prediktivní analýza – shromažďována prediktivní optimalizací.
    • Neznámé – shromažďované nerozpoznaným zdrojem
    • null — nejsou k dispozici žádné statistiky na úrovni tabulky.
  • statistics.created_at

    Když byly shromážděny statistiky na úrovni tabulky, jako časové razítko ISO 8601 UTC (například 2026-05-29T08:14:24.845Z). null pokud se neshromažďuje.

  • statistics.column_statistics

    Zahrnuto pouze v případech, kdy FOR COLUMNS nebo FOR ALL COLUMNS je zadán. Namapuje každý požadovaný sloupec na statistiku jednotlivých sloupců.

    V případě, že nejsou shromážděna, null jsou vždy k dispozici následující pole:

    • min, max – minimální a maximální hodnoty, vykreslené jako řetězce JSON.
    • distinct_count – počet jedinečných hodnot (NDV).
    • num_nulls — počet NULL hodnot.
    • avg_len, max_len – průměrná a maximální délka hodnoty v bajtech.
    • has_histogramtrue pokud je pro sloupec k dispozici histogram s výškou equi.

    Následující pole se zobrazí pouze v případě, že je povolená odpovídající kolekce skic a v opačném případě jsou vynechána:

    • has_mcvtrue pokud je pro sloupec k dispozici seznam nejběžnějších hodnot.
    • has_kll_sketchtrue pokud je pro sloupec k dispozici skica KLL.

Examples

-- Set up a table and collect column statistics.
> CREATE TABLE customer(cust_id INT, name STRING, state STRING) USING parquet;
> INSERT INTO customer VALUES (100, 'Mike', 'AR'), (200, 'Jane', 'CA');
> ANALYZE TABLE customer COMPUTE STATISTICS FOR ALL COLUMNS;

-- Table-level statistics only.
> SHOW STATISTICS FROM customer AS JSON;
 {"table_name":"customer","catalog_name":"spark_catalog",
  "namespace":["default"],"schema_name":"default",
  "statistics":{"size_in_bytes":864,"num_rows":2,
                "collection_source":"Manual Analyze",
                "created_at":"2026-05-29T08:14:24.845Z"}}

-- Per-column statistics for a list of columns.
> SHOW STATISTICS FROM customer FOR COLUMNS cust_id, name AS JSON;
 {"table_name":"customer","catalog_name":"spark_catalog",
  "namespace":["default"],"schema_name":"default",
  "statistics":{"size_in_bytes":864,"num_rows":2,
                "collection_source":"Manual Analyze",
                "created_at":"2026-05-29T08:14:24.845Z",
                "column_statistics":{
                  "cust_id":{"min":"100","max":"200","distinct_count":2,"num_nulls":0,
                             "avg_len":4,"max_len":4,"has_histogram":false,"has_mcv":false},
                  "name":   {"min":"Jane","max":"Mike","distinct_count":2,"num_nulls":0,
                             "avg_len":4,"max_len":4,"has_histogram":false,"has_mcv":false}}}}

-- All atomic top-level columns. STRUCT, ARRAY, and MAP columns are skipped.
> SHOW STATISTICS FROM customer FOR ALL COLUMNS AS JSON;