Megosztás:


ANALYZE TABLE … SZÁMÍTÁSI STATISZTIKÁK

A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime

ANALYZE TABLE … COMPUTE STATISTICS Az utasítással egy adott táblára vagy egy adott sémában lévő összes táblára vonatkozó becsült statisztikákat gyűjthet. Ezeket a statisztikákat a lekérdezésoptimalizáló használja az optimális lekérdezésterv létrehozásához.

A prediktív optimalizálás automatikusan fut ANALYZE a Unity Catalog által felügyelt táblákon, hogy összegyűjtse ezeket az információkat. A Databricks azt javasolja, hogy engedélyezze az összes Unity Catalog által felügyelt tábla prediktív optimalizálását az adatkarbantartás egyszerűsítése és a tárolási költségek csökkentése érdekében. Lásd: A Unity Catalog által felügyelt táblák prediktív optimalizálása.

Szemantika

ANALYZE TABLE table_name [ PARTITION clause ]
    COMPUTE [ DELTA ] STATISTICS [ NOSCAN | FOR COLUMNS col1 [, ...] | FOR ALL COLUMNS ]

ANALYZE TABLES [ { FROM | IN } schema_name ] COMPUTE STATISTICS [ NOSCAN ]

Paraméterek

  • table_name

    Azonosítja az elemezni kívánt táblát. A név nem tartalmazhat időbeli specifikációt, beállítási specifikációt vagy elérési utat. Ha a tábla nem található, az Azure Databricks TABLE_OR_VIEW_NOT_FOUND hibafeltételt eredményez.

  • PARTITION klauzula

    Igény szerint a parancsot a partíciók egy részhalmazára korlátozza.

    Ez a záradék a Delta Lake-táblák esetében nem támogatott.

  • DELTA

    A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime 14.3 LTS és újabb

    A Delta-naplóban tárolt statisztikák újrakomponálása a Delta-táblában a statisztikai adatgyűjtéshez konfigurált oszlopokhoz.

    A kulcsszó megadásakor a DELTA rendszer nem gyűjti össze a lekérdezésoptimalizáló szokásos statisztikáit.

    A Databricks javasolja a ANALYZE TABLE table_name COMPUTE DELTA STATISTICS futtatását az új oszlopok megadása után az adatkihagyáshoz, hogy frissítse a tábla összes sorának statisztikáit. Az optimalizált teljesítmény érdekében futtassa ANALYZE TABLE table_name COMPUTE STATISTICS a lekérdezési terv frissítését a Delta-napló frissítése után.

  • [ NOSCAN | FOR COLUMNS col [, ...] MINDEN COLUMNS ]

    Ha nincs megadva elemzési beállítás, ANALYZE TABLE akkor a tábla sorainak és méretének bájtban való számát gyűjti össze.

    • NOSCAN

      Csak a tábla méretét gyűjtse össze bájtokban (amihez nem szükséges a teljes táblázat vizsgálata).

    • FOR COLUMNS col [, ...] MINDEN COLUMNS

      Gyűjtse össze az oszlopstatisztikákat minden megadott oszlophoz, vagy alternatív megoldásként minden oszlophoz, valamint a táblázatstatisztikákhoz.

      Az oszlopstatisztikák nem támogatottak a PARTITION záradékkal együtt.

  • { FROM | IN } schema_name

    Megadja az elemezni kívánt séma nevét. Sémanév ANALYZE TABLES nélkül összegyűjti az aktuális séma összes tábláját, amelyet az aktuális felhasználó elemezni jogosult.

Példák

> CREATE TABLE students (name STRING, student_id INT) PARTITIONED BY (student_id);
> INSERT INTO students PARTITION (student_id = 111111) VALUES ('Mark');
> INSERT INTO students PARTITION (student_id = 222222) VALUES ('John');

> ANALYZE TABLE students COMPUTE STATISTICS NOSCAN;

> DESC EXTENDED students;
             col_name            data_type comment
 -------------------- -------------------- -------
                 name               string    null
           student_id                  int    null
                  ...                  ...     ...
           Statistics            864 bytes
                  ...                  ...     ...

> ANALYZE TABLE students COMPUTE STATISTICS;

> DESC EXTENDED students;
             col_name            data_type comment
 -------------------- -------------------- -------
                 name               string    null
           student_id                  int    null
                  ...                  ...     ...
           Statistics    864 bytes, 2 rows
                  ...                  ...     ...

-- Note: ANALYZE TABLE .. PARTITION is not supported for Delta tables.
> ANALYZE TABLE students PARTITION (student_id = 111111) COMPUTE STATISTICS;

> DESC EXTENDED students PARTITION (student_id = 111111);
             col_name            data_type comment
 -------------------- -------------------- -------
                 name               string    null
           student_id                  int    null
                  ...                  ...     ...
 Partition Statistics    432 bytes, 1 rows
                  ...                  ...     ...
         OutputFormat org.apache.hadoop...

> ANALYZE TABLE students COMPUTE STATISTICS FOR COLUMNS name;

> DESC EXTENDED students name;
      info_name info_value
 -------------- ----------
       col_name       name
      data_type     string
        comment       NULL
            min       NULL
            max       NULL
      num_nulls          0
 distinct_count          2
    avg_col_len          4
    max_col_len          4
      histogram       NULL

> ANALYZE TABLES IN school_schema COMPUTE STATISTICS NOSCAN;
> DESC EXTENDED teachers;
             col_name            data_type comment
 -------------------- -------------------- -------
                 name               string    null
           teacher_id                  int    null
                  ...                  ...     ...
           Statistics           1382 bytes
                  ...                  ...     ...

> DESC EXTENDED students;
             col_name            data_type comment
 -------------------- -------------------- -------
                 name               string    null
           student_id                  int    null
                  ...                  ...     ...
           Statistics            864 bytes
                  ...                  ...     ...

> ANALYZE TABLES COMPUTE STATISTICS;
> DESC EXTENDED teachers;
             col_name            data_type comment
 -------------------- -------------------- -------
                 name               string    null
           teacher_id                  int    null
                  ...                  ...     ...
           Statistics   1382 bytes, 2 rows
                  ...                  ...     ...

> DESC EXTENDED students;
             col_name            data_type comment
 -------------------- -------------------- -------
                 name               string    null
           student_id                  int    null
                  ...                  ...     ...
           Statistics    864 bytes, 2 rows
                  ...                  ...     ...

> ANALYZE TABLE some_delta_table COMPUTE DELTA STATISTICS;