Kategorien:

Information Schema, Tabellenfunktionen

CORTEX_SEARCH_REFRESH_HISTORY

Diese Tabellenfunktion gibt Informationen über jede Aktualisierung (abgeschlossen und in Ausführung) von Cortex Search Services zurück.

Diese Tabellenfunktion gibt alle in Ausführung befindlichen Aktualisierungen sowie alle Aktualisierungen zurück, die einen DATA_TIMESTAMP-Wert innerhalb von 7 Tagen nach dem aktuellen Zeitpunkt haben.

Syntax

CORTEX_SEARCH_REFRESH_HISTORY(
  [ NAME => '<string>' ]
  [ , DATA_TIMESTAMP_START => <constant_expr> ]
  [ , DATA_TIMESTAMP_END => <constant_expr> ]
  [ , RESULT_LIMIT => <integer> ]
)
Copy

Argumente

Alle Argumente sind optional. Werden keine Argumente angegeben, werden 100 Aktualisierungen aus allen Cortex Search Services des Kontos zurückgegeben.

NAME => string

Der Name eines Cortex Search Service.

Die Namen müssen in einfachen Anführungszeichen stehen, wobei Groß-/Kleinschreibung nicht berücksichtigt wird.

Sie können den nicht qualifizierten Namen (service_name), den teilweise qualifizierten Namen (schema_name.service_name) oder den vollqualifizierten Namen (database_name.schema_name.service_name) angeben.

Weitere Informationen zur Auflösung von Objektnamen finden Sie unter Auflösung von Objektnamen.

Die Funktion gibt die Aktualisierungen für diesen Dienst zurück.

DATA_TIMESTAMP_START => constant_expr, . DATA_TIMESTAMP_END => constant_expr

Zeitbereich (im Format TIMESTAMP_LTZ), in der die Aktualisierungen stattgefunden haben.

  • Wenn weder eine Start- noch eine Endversion angegeben wird, ist der Standardbereich der letzte Tag.

  • Wenn keine Endzeit angegeben ist, wird CURRENT_TIMESTAMP als Ende des Bereichs verwendet.

  • Wenn keine Startzeit angegeben ist, beginnt der Bereich 1 Tag vor dem Start von DATA_TIMESTAMP_END.

RESULT_LIMIT => integer

Eine Zahl, die die maximale Anzahl von Zeilen angibt, die von der Funktion zurückgegeben werden. Wenn die Anzahl der übereinstimmenden Zeilen größer als dieser Grenzwert ist, werden die Aktualisierungen mit der jüngsten Endzeit (oder Aktualisierungen, die noch ausgeführt werden) zurückgegeben – bis zum angegebenen Grenzwert.

Um einen Filter auf die Ergebnisse anzuwenden, geben Sie auch einen ausreichend hohen RESULT_LIMIT-Grenzwert für den Filter an, der auf alle Cortex Search Services angewendet werden soll.

Bereich: 1 bis 10000

Standard: 100.

Ausgabe

Die Funktion gibt die folgenden Spalten zurück:

Spaltenname

Datentyp

Beschreibung

NAME

TEXT

Name des Cortex Search Service.

SCHEMA_NAME

TEXT

Der Name des Schemas, das den Cortex Search Service enthält.

DATABASE_NAME

TEXT

Der Name der Datenbank, die den Cortex Search Service enthält.

STATE

TEXT

Der Status der Aktualisierung für den Cortex Search Service. Folgende Status sind verfügbar:

  • EXECUTING: Aktualisierung ist in Ausführung.

  • SUCCEEDED: Aktualisierung erfolgreich abgeschlossen.

  • FAILED: Aktualisierung während der Ausführung fehlgeschlagen.

  • CANCELLED: Aktualisierung wurde vor der Ausführung abgebrochen.

DATA_TIMESTAMP

TIMESTAMP_LTZ

Zeitstempel der Transaktion zum Zeitpunkt, als die Aktualisierung ausgewertet wurde. (Dies kann einen Moment vor dem tatsächlichen Zeitpunkt der Aktualisierung liegen.) Alle Daten in Basisobjekten, die vor diesem Zeitstempel eingegangen sind, sind derzeit im Cortex Search Service enthalten.

REFRESH_START_TIME

TIMESTAMP_LTZ

Zeitpunkt, zu dem der Aktualisierungsjob gestartet wurde.

REFRESH_END_TIME

TIMESTAMP_LTZ

Zeitpunkt, zu dem die Aktualisierung abgeschlossen wurde.

INDEX_PREPROCESSING_DURATION

NUMBER

Dauer der Vorverarbeitungsphase des Index in Millisekunden.

INDEX_PREPROCESSING_QUERY_ID

TEXT

ID der Abfrage, die die Indexvorverarbeitung durchgeführt hat.

INDEX_PREPROCESSING_STATISTICS

OBJECT

Enthält die folgenden Eigenschaften für die Indexvorverarbeitung:

  • compilationTimeMs: Zeit, die für das Kompilieren der Abfrage verbraucht wurde, in Millisekunden.

  • executionTimeMs: Zeit, die für die Ausführung der Abfrage benötigt wurde, in Millisekunden.

  • queuedTimeMs: Zeit, die in der Warteschlange vor der Ausführung gewartet wurde, in Millisekunden.

  • numInsertedRows: Die Anzahl der eingefügten Zeilen.

  • numDeletedRows: Die Anzahl der gelöschten Zeilen.

  • numCopiedRows: Die Anzahl der Zeilen, die unverändert kopiert wurden.

  • numAddedPartitions: Die Anzahl der hinzugefügten Partitionen.

  • numRemovedPartitions: Die Anzahl der entfernten Partitionen.

INDEXING_DURATION

NUMBER

Dauer der Indizierungsphase in Millisekunden.

INDEXING_QUERY_ID

TEXT

ID der Abfrage, die die Indizierung durchgeführt hat.

REFRESH_ACTION

TEXT

Eine der folgenden Optionen:

  • NO_DATA - Keine neuen Daten in Basistabellen.

  • FULL: Vollständige Aktualisierung des Cortex Search Service.

  • INCREMENTAL: Inkrementelle Aktualisierung des Cortex Search Service.

REFRESH_TRIGGER

TEXT

Eine der folgenden Optionen:

  • SCHEDULED:- Normale Hintergrundaktualisierung, um den Dienst auf dem neuesten Stand zu halten.

  • MANUAL: Vom Benutzer manuell ausgelöste Aktualisierung mit ALTER CORTEX SEARCH SERVICE.

  • CREATION: Aktualisierung während der Erstellung mit der DDL-Anweisung ausgeführt.

TARGET_LAG_SEC

NUMBER

Beschreibt den Zielverzögerungswert für den Cortex Search Service zum Zeitpunkt der Aktualisierung.

WAREHOUSE

TEXT

Name des Warehouses, das für die Aktualisierungsvorgang verwendet wurde.

ERROR

TEXT

Fehlermeldung, wenn die Aktualisierung fehlgeschlagen ist, andernfalls NULL.

Nutzungshinweise

  • Beim Aufrufen einer Tabellenfunktion des Information Schema muss die Sitzung über ein aktives INFORMATION_SCHEMA-Schema verfügen oder der Funktionsname muss vollqualifiziert sein. Weitere Details dazu finden Sie unter Snowflake Information Schema.

Beispiele

Suchen Sie fehlgeschlagene Cortex Search Service-Aktualisierungen der letzten Woche:

SELECT
  data_timestamp,
  database_name,
  schema_name,
  name,
  state,
  error,
  refresh_trigger
FROM
  TABLE (
    INFORMATION_SCHEMA.CORTEX_SEARCH_REFRESH_HISTORY (
      DATA_TIMESTAMP_START => DATEADD(WEEK, -1, CURRENT_TIMESTAMP())
    )
  )
ORDER BY
  data_timestamp DESC
LIMIT 10;
Copy

Suchen Sie die letzten manuellen Aktualisierungen für einen bestimmten Cortex Search Service:

SELECT
  data_timestamp,
  refresh_start_time,
  refresh_end_time,
  refresh_action,
  state
FROM
  TABLE (
    INFORMATION_SCHEMA.CORTEX_SEARCH_REFRESH_HISTORY (
      NAME => 'MYSVC',
      DATA_TIMESTAMP_START => DATEADD(DAY, -7, CURRENT_TIMESTAMP()),
      RESULT_LIMIT => 20
    )
  )
WHERE
  refresh_trigger = 'MANUAL'
ORDER BY
  data_timestamp DESC;
Copy

Analysieren Sie die Leistung der Aktualisierung für einen Cortex Search Service:

SELECT
  name,
  data_timestamp,
  index_preprocessing_duration,
  indexing_duration,
  TIMEDIFF(SECOND, refresh_start_time, refresh_end_time) AS total_refresh_duration_sec,
  index_preprocessing_statistics:numInsertedRows AS rows_processed
FROM
  TABLE (
    INFORMATION_SCHEMA.CORTEX_SEARCH_REFRESH_HISTORY (
      NAME => 'MYSVC',
      DATA_TIMESTAMP_START => DATEADD(DAY, -30, CURRENT_TIMESTAMP())
    )
  )
WHERE
  state = 'SUCCEEDED'
ORDER BY
  data_timestamp DESC;
Copy