Categorias:

Funções do sistema (Informações do sistema)

SYSTEM$GET_ICEBERG_TABLE_INFORMATION

Retorna o local do arquivo de metadados raiz e o status do instantâneo mais recente de uma tabela Iceberg.

A função SYSTEM$GET_ICEBERG_TABLE_INFORMATION funciona de forma diferente de acordo com o tipo de tabela:

  • Para uma tabela Iceberg que usa Snowflake como catálogo, chamar a função gera metadados para operações de linguagem de manipulação de dados (DML) ou outras atualizações de tabela que ocorreram desde a última vez que o Snowflake gerou metadados para a tabela.

    Se não houver atualizações, a função retornará a localização do arquivo de metadados mais recente, mas não gerará novos metadados.

  • Para uma tabela Iceberg que não é gerenciada pelo Snowflake, a função retorna informações sobre o instantâneo atualizado mais recente.

Sintaxe

SYSTEM$GET_ICEBERG_TABLE_INFORMATION('<iceberg_table_name>')
Copy

Argumentos

'iceberg_table_name'

O nome da tabela Iceberg para a qual você deseja recuperar informações. O nome da tabela é uma cadeia de caracteres, portanto, deve ser delimitada por aspas simples.

  • Se o nome da tabela Iceberg for totalmente qualificado, como '<db>.<schema>.<iceberg_table_name>', o nome inteiro deve ser colocado entre aspas simples, incluindo o banco de dados e o esquema.

  • Se o nome da tabela Iceberg diferenciar letras maiúsculas e minúsculas ou incluir quaisquer caracteres ou espaços especiais, as aspas duplas são necessárias para processar o caso/caracteres. As aspas duplas devem ser incluídas dentro das aspas simples, por exemplo, '"<case_sensitive_iceberg_table_name>"'.

Retornos

A função retorna um objeto JSON contendo os seguintes pares nome/valor:

{«metadataLocation»:»<valor>»,»status»:»<valor>»}

Onde:

metadataLocation

Local do arquivo de metadados raiz atualizado ou recuperado pela função.

status

Status da operação. Este campo retorna uma mensagem de sucesso ou falha.

Notas de uso

Chamar esta função requer uma função que tenha o privilégio OWNERSHIP na tabela Iceberg.

Exemplos

Gere um instantâneo para a tabela Iceberg it1 no esquema db1.schema1:

SELECT SYSTEM$GET_ICEBERG_TABLE_INFORMATION('db1.schema1.it1');
Copy

Saída:

+-----------------------------------------------------------------------------------------------------------+
| SYSTEM$GET_ICEBERG_TABLE_INFORMATION('DB1.SCHEMA1.IT1')                                                   |
|-----------------------------------------------------------------------------------------------------------|
| {"metadataLocation":"s3://mybucket/metadata/v1.metadata.json","status":"success"}                         |
+-----------------------------------------------------------------------------------------------------------+