Megosztás a következőn keresztül:


ANALYZE TABLE

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

Az ANALYZE TABLE utasítás egy adott táblára vagy egy adott sémában lévő összes táblára vonatkozó becsült statisztikákat gyűjt. 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. 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.

Szintaxis

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 hibát jelez.

  • PARTITION záradék

    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ájtban (ami nem igényli a teljes táblázat vizsgálatát).

    • 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;