Partilhar via


REFRESH FOREIGN (CATALOG, SCHEMAe TABLE)

Aplica-se a:assinalado sim Databricks SQL assinalado sim Databricks Runtime 13.3 LTS ou superior assinalado sim apenas Unity Catalog

Atualiza os metadados mantidos no Catálogo Unity para um:

  • Catálogo estrangeiro e seus objetos securizáveis
  • Esquema estrangeiro e seus itens de segurança, ou
  • Tabela estrangeira.

Para executares REFRESH FOREIGN CATALOG, precisas de pelo menos uma das seguintes:

  • Seja um administrador de metastore
  • Ter o privilégio USE CATALOG no catálogo, o privilégio USE SCHEMA em todos os subesquemas e o privilégio SELECT em todas as subtabelas.

Para executares REFRESH FOREIGN SCHEMA, precisas de pelo menos uma das seguintes:

  • Seja administrador da metastore
  • Seja o proprietário do catálogo pai
  • Ter privilégios de MANAGE e USE SCHEMA no esquema e USE CATALOG no catálogo pai
  • Ter o privilégio de USE CATALOG no catálogo pai, ter o privilégio de USE SCHEMA no esquema e ter o privilégio de SELECT em todas as tabelas filho

Para executar REFRESH FOREIGN TABLE , você precisa de pelo menos uma das seguintes opções:

  • Seja administrador da metastore
  • Seja o proprietário do catálogo pai
  • Seja o proprietário do esquema pai e tenha o privilégio de USE CATALOG no catálogo pai
  • Possuir privilégios de MANAGE e USE SCHEMA no esquema pai e de USE CATALOG no catálogo pai
  • Ter privilégios de USE CATALOG e USE SCHEMA no catálogo pai e no esquema, respectivamente, e o privilégio de SELECT na tabela

Para executar a cláusula opcional RESOLVE DBFS LOCATION para atualizar a localização do DBFS resolvida de uma tabela federada do metastore do Hive, precisa de pelo menos uma das seguintes opções:

  • Seja o dono da mesa.
  • Ter o privilégio de MANAGE na tabela, assim como USE SCHEMA no esquema e USE CATALOG no catálogo principal

Syntax

REFRESH FOREIGN
 { CATALOG foreign_catalog_name |
   SCHEMA foreign_schema_name [ RESOLVE DBFS LOCATION ] |
   TABLE foreign_table_name [ RESOLVE DBFS LOCATION ] }

Parameters

  • foreign_catalog_name

    Identifica o catálogo estrangeiro a ser atualizado.

  • foreign_schema_name

    Identifica o esquema estrangeiro a ser atualizado.

  • foreign_table_name

    Identifica a tabela estrangeira a atualizar. O nome não deve incluir uma especificação temporal ou uma especificação de opções.

  • RESOLVER LOCALIZAÇÃO DO DBFS

    Use esta opção para atualizar o local resolvido do DBFS se a tabela ou o esquema externo for federado no metastore do Hive, armazenado no DBFS e o ponto de montagem do DBFS que suporta a tabela tiver sido remapeado desde a última vez que a tabela foi acessada.

    Você deve ser um OWNER ou ter o privilégio MANAGE sobre a tabela ou o esquema. Para obter mais informações sobre a federação de metastore do Hive, consulte federação de metastore do Hive: habilitar o Unity Catalog para governar tabelas registradas em um metastore do Hive.

    Ao executar REFRESH FOREIGN SCHEMA com esta opção, o Unity Catalog atualiza o local DBFS resolvido do esquema e propaga a resolução para todas as tabelas dentro do esquema.

Examples

> REFRESH FOREIGN CATALOG some_catalog;

> REFRESH FOREIGN SCHEMA some_catalog.some_schema;

> REFRESH FOREIGN TABLE some_catalog.some_schema.some_table;

—- Resolves the DBFS location of the foreign table and updates it in Unity Catalog.
> REFRESH FOREIGN TABLE hms_fed_catalog.schema.table RESOLVE DBFS LOCATION;

-- Resolves the DBFS location of the foreign schema and all eligible foreign tables within the schema.
> REFRESH FOREIGN SCHEMA hms_fed_catalog.schema RESOLVE DBFS LOCATION;

Limitações

Para tabelas Delta, REFRESH FOREIGN CATALOG e REFRESH FOREIGN SCHEMA não atualizam o esquema da tabela e o mapa de chave-valor das propriedades (campo de colunas e campo de propriedades, respectivamente). Para tal, execute REFRESH FOREIGN TABLE.