SYSTEM$AUTO_REFRESH_STATUS¶
Renvoie le statut d’actualisation automatique pour une table Iceberg gérée en externe.
Syntaxe¶
SYSTEM$AUTO_REFRESH_STATUS('<table_name>')
Arguments¶
'table_name'
Nom de la table Iceberg dont vous souhaitez récupérer le statut d’actualisation automatisée actuel.
Le nom complet doit être placé entre guillemets simples, y compris la base de données et le schéma en cas d’utilisation du nom entièrement qualifié. Si le nom de la table est sensible à la casse ou inclut des caractères spéciaux ou des espaces, vous devez utiliser des guillemets doubles. Placez les guillemets doubles entre les guillemets simples, par exemple,
'"Table_Name"'
.
Renvoie¶
La fonction renvoie un objet JSON contenant les paires nom/valeur suivantes :
{
“executionState”:”<value>”,
”invalidExecutionStateReason”:”<value>”
”pendingSnapshotCount”:<value>,
”oldestSnapshotTime”:<value>,
”currentSnapshotId”:”<value>”,
”lastSnapshotTime”:”<value>”,
”lastUpdatedTime”:<value>
}
Où :
“executionState”
État d’exécution actuel du canal que Snowflake utilise pour automatiser les actualisations des métadonnées de la table.
Valeurs :
RUNNING
: L’actualisation automatisée s’exécute comme prévu. Ce statut n’indique pas si Snowflake traite activement les messages d’événement pour le canal.
STALLED
: L’actualisation automatisée a rencontré une erreur et tente de la réparer.
STOPPED
: L’actualisation automatisée a rencontré une erreur irrécupérable ; elle restera arrêtée jusqu’à ce que vous interveniez. Pour plus d’informations, voir Reprise en cas d’erreur.”invalidExecutionStateReason”
Message d’erreur associé à un état d’exécution
STALLED
ouSTOPPED
.”pendingSnapshotCount”
Nombre d’instantanés mis en file d’attente pour une actualisation automatique.
”oldestSnapshotTime”
Horodatage le plus ancien parmi les instantanés en file d’attente. Snowflake définit l’horodatage d’un instantané lorsque l’instantané est ajouté à la file d’attente.
”currentSnapshotId”
ID de l’instantané actuel suivi par Snowflake. Cette valeur représente l’instantané auquel correspondent les données de la table actuelle.
”lastSnapshotTime”
Horodatage de création de l’instantané actuel selon les métadonnées Iceberg. Cet horodatage correspond au moment où l’instantané actuel a été généré dans le catalogue externe.
”lastUpdatedTime”
Horodatage indiquant quand Snowflake a traité correctement l’instantané actuel. La différence entre cette valeur et
lastSnapshotTime
indique la latence entre le moment où les instantanés sont créés dans le catalogue externe et le moment où Snowflake parvient à actualiser les métadonnées de la table.Pour diminuer la latence, ajustez le paramètre
REFRESH_INTERVAL_SECONDS
pour l’intégration du catalogue associé à la table.
Notes sur l’utilisation¶
L’appel de cette fonction nécessite un rôle disposant du privilège OWNERSHIP sur la table Iceberg.
Exemples¶
Récupérer le statut d’actualisation automatisée de la table my_iceberg_table
dans le schéma db1.schema1
:
SELECT SYSTEM$AUTO_REFRESH_STATUS('db1.schema1.my_iceberg_table');