POKAŻ STATYSTYKI

Dotyczy:sprawdź, czy zaznaczono tak, sprawdź, czy usługa SQL databricks została oznaczona jako tak Databricks Runtime 18 LTS lub nowsza

Note

Środowisko Databricks Runtime 18 jest nowsze niż środowisko Databricks Runtime 18.0, 18.1 i 18.2. Funkcje, które wcześniej były dostarczane jako nowsza numerowana wersja, są teraz dostarczane jako daty aktualizacji środowiska Databricks Runtime 18 zamiast. Aby uzyskać szczegółowe informacje, zobacz Informacje o ujednoliconej wersji.

Zwraca statystyki optymalizatora dla tabeli jako dokumentu JSON, w tym statystyki na poziomie tabeli i opcjonalnie statystyki poszczególnych kolumn.

Usługa Databricks zaleca SHOW STATISTICS programowe odczytywanie statystyk optymalizatora. Zwraca tylko statystyki, bez schematu, magazynu, właściwości, partycji i innych metadanych zawartych w DESCRIBE TABLE rozszerzonym ... AS JSON. Użyj ANALYZE TABLE ... COMPUTE STATISTICS (lub optymalizacja predykcyjna) w celu zbierania statystyk zgłaszanych przez to polecenie.

Wymagane uprawnienia

Aby uruchomić SHOW STATISTICS polecenie w tabeli wykazu aparatu Unity, potrzebne są następujące elementy:

  • USE CATALOG w wykazie nadrzędnym.
  • USE SCHEMA w schemacie nadrzędnym.
  • SELECT w tabeli lub własność tabeli.

Składnia

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

Słowa FROM kluczowe i IN są opcjonalne i wymienne.

Parameters

  • table_name

    Identyfikuje tabelę do raportowania statystyk. Nazwa nie może zawierać specyfikacji czasowej ani specyfikacji opcji.

    Jeśli nie można odnaleźć tabeli, Azure Databricks zgłasza błąd TABLE_OR_VIEW_NOT_FOUND.

    Widoki (tymczasowe lub trwałe) nie są obsługiwane. Wywołanie SHOW STATISTICS widoku wywołuje EXPECT_TABLE_NOT_VIEW.NO_ALTERNATIVE. Służy DESCRIBE EXTENDED do wyświetlania metadanych.

  • FOR COLUMNScolumn_name [, ...]

    Dodaje wpis do statistics.column_statistics elementu dla każdej nazwanej kolumny.

    Jeśli jakakolwiek nazwana kolumna nie istnieje w tabeli, polecenie zgłasza COLUMN_NOT_FOUND.

  • DLA WSZYSTKICH COLUMNS

    Dodaje wpis dla statistics.column_statistics każdej kolumny najwyższego poziomu w tabeli typu niepodzielnego.

    Kolumny, których typ danych to STRUCT, ARRAY lub MAP , są wykluczone, ponieważ optymalizator nie zbiera statystyk dotyczących typów złożonych. Zagnieżdżone pola nie są wyliczane.

  • JAKO JSON

    Required. Wynik jest zwracany jako pojedynczy format STRINGJSON.

Dane wyjściowe w formacie JSON

Zwrócony dokument JSON używa następującego schematu:

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

    Łączny rozmiar danych tabeli w bajtach, znany optymalizatorowi. Pominięto, gdy nie istnieją żadne statystyki na poziomie tabeli.

  • statistics.num_rows

    Liczba wierszy znana optymalizatorowi. null jeśli nie są zbierane.

  • statistics.collection_source

    Sposób tworzenia statystyk na poziomie tabeli. Jeden z:

    • Analiza ręczna — zbierana przez ANALYZE TABLE ... COMPUTE STATISTICSpolecenie .
    • Automatyczne statystyki — zbierane automatycznie podczas zapisu.
    • Analiza predykcyjna — zbierana przez optymalizację predykcyjną.
    • Nieznane — zbierane przez nierozpoznane źródło.
    • null — nie są dostępne żadne statystyki na poziomie tabeli.
  • statistics.created_at

    Po zebraniu statystyk na poziomie tabeli jako sygnatury czasowej ISO 8601 UTC (na przykład 2026-05-29T08:14:24.845Z). null jeśli nie są zbierane.

  • statistics.column_statistics

    Uwzględniane tylko wtedy, gdy FOR COLUMNS określono wartość lub FOR ALL COLUMNS . Mapuje każdą żądaną kolumnę na statystyki poszczególnych kolumn.

    Następujące pola są zawsze obecne, null gdy nie są zbierane:

    • min, max — minimalne i maksymalne wartości, renderowane jako ciągi JSON.
    • distinct_count — liczba unikatowych wartości (NDV).
    • num_nulls — liczba NULL wartości.
    • avg_len, max_len — średnia i maksymalna długość wartości w bajtach.
    • has_histogramtrue jeśli histogram o wysokości równej jest dostępny dla kolumny.

    Następujące pola są wyświetlane tylko wtedy, gdy jest włączona odpowiednia kolekcja szkiców i zostaną pominięte w przeciwnym razie:

    • has_mcvtrue jeśli dla kolumny jest dostępna lista najczęściej używanych wartości.
    • has_kll_sketchtrue jeśli szkic KLL jest dostępny dla kolumny.

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;