- Catégories :
CORTEX_SEARCH_REFRESH_HISTORY¶
Cette fonction de table renvoie des informations sur chaque actualisation (terminée et en cours) des Cortex Search Services.
Cette fonction de table renvoie toutes les actualisations en cours ainsi que toutes les actualisations pour lesquelles DATA_TIMESTAMP se situe dans un délai de 7 jours par rapport à l’heure actuelle.
Syntaxe¶
CORTEX_SEARCH_REFRESH_HISTORY(
[ NAME => '<string>' ]
[ , DATA_TIMESTAMP_START => <constant_expr> ]
[ , DATA_TIMESTAMP_END => <constant_expr> ]
[ , RESULT_LIMIT => <integer> ]
)
Arguments¶
Tous les arguments sont facultatifs. Si aucun argument n’est fourni, alors 100 actualisations de tous les Cortex Search Services du compte seront renvoyées.
NAME => stringLe nom d’un service Cortex Search.
Les noms doivent être mis entre guillemets simples et ne sont pas sensibles à la casse.
Vous pouvez spécifier le nom incomplet (
service_name), le nom partiellement complet (schema_name.service_name) ou le nom complet (database_name.schema_name.service_name).Pour plus d’informations sur la résolution des noms d’objets, reportez-vous à Résolution de nom d’objet.
La fonction renvoie les actualisations pour ce service.
DATA_TIMESTAMP_START => constant_expr, .DATA_TIMESTAMP_END => constant_exprPlage de temps (au format TIMESTAMP_LTZ) pendant laquelle les actualisations ont eu lieu.
Si aucune heure de début ni de fin n’est spécifiée, la plage par défaut correspondra aux dernières 24 heures.
Si aucune heure de fin n’est spécifiée, CURRENT_TIMESTAMP est utilisée comme fin de plage.
Si aucune heure de début n’est spécifiée, la plage commence 1 jour avant le début de DATA_TIMESTAMP_END.
RESULT_LIMIT => integerUn nombre spécifiant le nombre maximum de lignes renvoyé par la fonction. Si le nombre de lignes correspondantes est supérieur à cette limite, les actualisations avec l’heure de fin la plus récente (ou celles qui sont toujours en cours d’exécution) sont renvoyées, jusqu’à la limite spécifiée.
Pour appliquer un filtre aux résultats, vous devez également spécifier une valeur limite RESULT_LIMIT assez grande pour le filtre à appliquer sur tous les Cortex Search Services.
Plage : de
1à10000Par défaut :
100.
Sortie¶
La fonction renvoie les colonnes suivantes.
Nom de la colonne |
Type de données |
Description |
|---|---|---|
NAME |
TEXT |
Nom du Cortex Search Service. |
SCHEMA_NAME |
TEXT |
Le nom du schéma contenant le Cortex Search Service. |
DATABASE_NAME |
TEXT |
Le nom de la base de données qui contient le Cortex Search Service. |
STATE |
TEXT |
Statut de l’actualisation du service Cortex Search Service. Le statut peut être sous la forme suivante :
|
DATA_TIMESTAMP |
TIMESTAMP_LTZ |
Horodatage transactionnel de l’évaluation de l’actualisation. (Il se peut que cette date soit légèrement antérieure à l’heure réelle de l’actualisation.) Toutes les données, dans les objets de base, qui sont arrivées avant cet horodatage sont actuellement incluses dans le service Cortex Search Service. |
REFRESH_START_TIME |
TIMESTAMP_LTZ |
Heure à laquelle la tâche d’actualisation a commencé. |
REFRESH_END_TIME |
TIMESTAMP_LTZ |
Heure à laquelle l’actualisation s’est achevée. |
INDEX_PREPROCESSING_DURATION |
NUMBER |
Durée de la phase de prétraitement de l’index en millisecondes. |
INDEX_PREPROCESSING_QUERY_ID |
TEXT |
ID de la requête qui a effectué le prétraitement de l’index. |
INDEX_PREPROCESSING_STATISTICS |
OBJECT |
Contient les propriétés suivantes pour le prétraitement de l’index :
|
INDEXING_DURATION |
NUMBER |
Durée de la phase d’indexation en millisecondes. |
INDEXING_QUERY_ID |
TEXT |
ID de la requête qui a effectué l’indexation. |
REFRESH_ACTION |
TEXT |
Une des options :
|
REFRESH_TRIGGER |
TEXT |
Une des options :
|
TARGET_LAG_SEC |
NUMBER |
Décrit la valeur de latence cible du service Cortex Search Service au moment de l’actualisation. |
WAREHOUSE |
TEXT |
Nom de l’entrepôt utilisé pour l’opération d’actualisation. |
ERROR |
TEXT |
Message d’erreur si l’actualisation a échoué, sinon NULL. |
Notes sur l’utilisation¶
Lors de l’appel d’une fonction de la table de schémas d’informations, la session doit avoir un schéma INFORMATION_SCHEMA en cours d’utilisation ou le nom de la fonction doit être complètement qualifié. Pour plus de détails, voir Schéma d’information de Snowflake.
Exemples¶
Rechercher les actualisations du service Cortex Search Service ayant échoué au cours de la semaine écoulée :
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;
Rechercher les actualisations manuelles récentes d’un service Cortex Search Service spécifique :
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;
Analyser les performances d’actualisation d’un service 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;