Ir para o conteúdo principal
Produto

Atualize seu Lakehouse: Seu Guia Prático para Converter para Tabelas Gerenciadas do Unity Catalog

Converta de Tabelas Externas UC para Tabelas Gerenciadas UC para Acelerar Consultas e Economizar Custos

por Elizabeth Bowman e Amit Vaswani

• Aprenda a converter tabelas externas do Unity Catalog (UC) em tabelas gerenciadas do UC de forma integrada, minimizando o tempo de inatividade, mantendo as configurações da tabela e preservando o histórico da tabela
• Aumente o desempenho das consultas em 20x, reduza os custos em mais de 50% e desbloqueie recursos avançados com tabelas gerenciadas do Unity Catalog
• Descubra como manter o controle da localização física dos seus dados, realizar conversões em massa, lidar com reversões e planejar sua jornada

O novo comando SET MANAGED fornece um mecanismo integrado para converter tabelas externas do UC em tabelas gerenciadas do UC, minimizando o tempo de inatividade, lidando com gravações simultâneas, mantendo as configurações da tabela e, quando possível, preservando o histórico da tabela. Este artigo compartilha as melhores práticas e fornece um guia passo a passo para usar este comando, que está geralmente disponível (GA):

Por que converter para tabelas gerenciadas do UC?

Com o Unity Catalog como a fonte da verdade, as tabelas gerenciadas desbloqueiam recursos exclusivos que aprimoram o desempenho, governança e a facilidade de uso — mantendo a interoperabilidade e a portabilidade.

As principais vantagens incluem:

  • Otimizações automáticas que podem aumentar o desempenho das consultas em 20x e reduzir os custos de armazenamento em mais de 50% (mais detalhes aqui).
  • Gerenciamento de dados simplificado com limpeza automática de dados descartados para economizar custos, além de suporte para UNDROP.
  • Governança aprimorada com linhagem de dados, controles de acesso granulares e acesso seguro a tabelas com supervisão do Unity Catalog sobre todas as leituras e gravações.
  • Uma base para recursos futuros, como exclusão automática de linhas (Auto-TTL) e ingestão em nível de linha (Zerobus ingest).
  • Interoperabilidade: Tabelas convertidas suportam leituras de qualquer cliente de terceiros (veja aqui para mais detalhes).

Como o Comando de Conversão SET MANAGED Pode Ajudar?

O comando SET MANAGED facilita a conversão de tabelas externas em gerenciadas

Recurso

Benefício do comando SET MANAGED

Minimizar Tempo de Inatividade

Mantenha a tabela online e disponível para leituras usando o Databricks Runtime 16.1 ou superior, e minimize o tempo de inatividade para apenas alguns minutos para gravações (ou, para leituras no Databricks Runtime 15.4 ou inferior).

Preservar Identidade

O nome da tabela, permissões, tags e configurações para todas as tabelas, e o histórico da tabela (para tabelas Delta) são todos retidos.

Lidar com Concorrência

O comando SET MANAGED lida com segurança com gravações simultâneas que podem ocorrer durante a conversão.

"Desfazer" como Rede de Segurança

Outro comando chamado UNSET MANAGED permite reverter uma tabela convertida para UC externa em até 14 dias, como uma rede de segurança.

Como converter de tabelas externas para gerenciadas?

Um Guia Passo a Passo para Conversão para Praticantes

O comando SET MANAGED torna a conversão de tabelas simples. Em um guia passo a passo, delineamos dicas importantes para garantir uma transição suave de tabelas externas para gerenciadas.

Passo 1: Selecionar Tabelas Externas para Converter

Comece selecionando algumas tabelas externas do Unity Catalog para converter em gerenciadas do UC primeiro, para familiarizar sua equipe com o processo, pré-requisitos e etapas pós-conversão.

Por exemplo, você pode experimentar este comando primeiro em algumas tabelas que são lidas e gravadas exclusivamente por clientes Databricks (veja a seção "Planejando uma Jornada Faseada" mais adiante).

Passo 2: Checklist de Pré-Voo

Verifique se seu ecossistema de leitores e gravadores de tabelas está pronto para a mudança. Para cada tabela externa do UC selecionada e suas cargas de trabalho associadas, você vai querer:

  1. Atualizar para usar Acesso Baseado em Nome: Verifique seus jobs, notebooks e consultas para garantir que eles acessem a tabela usando seu nome de três partes (catálogo.esquema.tabela) em vez de usar acesso baseado em caminho (por exemplo, SELECT * FROM delta.'s3://path/to/table'). Databricks Labs desenvolveu ferramentas UCX que podem ajudar você a encontrar referências baseadas em caminho executando o seguinte Databricks Labs UCX lint-local-code de um terminal IDE, para analisar o código do diretório da sua máquina local (arquivos .py ou .sql).
    1. test123
    2. Redirecionamento baseado em caminho também está disponível para lidar com código legado, se a atualização para acesso baseado em nome não for possível
  2. Cancelar Todos os Jobs de Manutenção: Para evitar conflitos, certifique-se de que nenhum job OPTIMIZE, ZORDER ou CLUSTER BY esteja em execução ou agendado para ser executado na tabela durante o processo de conversão, se existirem (pode verificar usando DESCRIBE HISTORY). Após a conversão, o Predictive Optimization cuidará automaticamente dos jobs de otimização.
  3. [Opcional] Atualizar Versões do Databricks Runtime: Todos os clusters Databricks que leem ou gravam na tabela devem idealmente estar no Databricks Runtime 15.4 LTS ou superior para reter o histórico completo da tabela para tabelas Delta. O Databricks Runtime 16.1 ou superior pode eliminar completamente o tempo de inatividade do leitor.

Passo 3: Executar o Comando de Conversão

Execute a conversão usando o seguinte comando de conversão:

Nota: Para tabelas com UniForm habilitado, use SET MANAGED TRUNCATE UNIFORM HISTORY.

Passo 4: Verificar o Resultado

Após a conclusão do comando, confirme se a conversão foi bem-sucedida verificando os metadados da tabela.

Na saída deste comando, a propriedade “Type” agora deve exibir como “MANAGED”. Você também pode ver essas mesmas informações na seção ‘About this table’ do Catalog Explorer.

Passo 5: Manutenção Pós-Conversão

Após uma conversão bem-sucedida, complete estas etapas finais para garantir uma transição tranquila:

  • Reinicie os jobs de leitura ou gravação de streaming que usam a tabela, se algum foi pausado
  • Realize testes funcionais executando consultas importantes para garantir que todos os leitores e gravadores estejam operando como esperado na tabela recém-gerenciada
  • Confirme que a Otimização Preditiva está agora ativada para a tabela para começar a usufruir da manutenção automatizada (também pode ativar CLUSTER POR AUTO, para clusterização líquida automática, ou verificar se foi ativada).
  • Planejando uma Jornada em Etapas

    Uma conversão bem-sucedida de todas as tabelas para gerenciadas pelo UC é uma jornada – adotar uma abordagem faseada e planejar com antecedência pode ajudar a garantir uma transição tranquila:

    1. Converter Tabelas Exclusivas do Databricks: Priorize a conversão de tabelas que são lidas e escritas exclusivamente por clientes Databricks. Uma ferramenta experimental, Access Insights, pode ser usada para ajudar a identificar tabelas com apenas “leitores e escritores Databricks” versus “leitores não Databricks” ou “escritores não Databricks”.
    2. Converter Tabelas com Ferramentas Externas Suportadas: Determine quais tabelas são acessadas por ferramentas de terceiros que também suportam nativamente leituras de tabelas gerenciadas pelo UC, e converta essas em seguida. O acesso de terceiros continuará funcionando após a conversão.
    3. Resolver Casos Complexos por Último: Para tabelas acessadas com ferramentas legadas não suportadas – planeje usar soluções como Modo de Compatibilidade para leituras. Onde escritas de terceiros forem necessárias, recrie essas tabelas e ative as escritas nessas tabelas gerenciadas pelo UC em Preview Preview.

    Considerações Adicionais

    Os seguintes detalhes sobre o comando de conversão podem ser úteis de antemão:

    • Limite de Tempo para Rollback: Para usar a rede de segurança de rollback, o comando UNSET MANAGED deve ser executado na tabela gerenciada pelo UC dentro de 14 dias da conversão – após isso, os dados externos originais serão permanentemente excluídos para economizar custos de armazenamento.
    • Nuances de Viagem no Tempo: Atualizar clientes para a versão 15.4 LTS ou superior pode ser útil. Para clusters em execução no Databricks Runtime 14.3 LTS ou inferior ou se você usar o comando UNSET MANAGED para reverter, você só poderá viajar no tempo para commits históricos por número de versão após a conversão, não por timestamp.
    • Tempo de Inatividade Mínimo para Escritores: O comando foi projetado para minimizar o tempo de inatividade – os escritores podem experimentar uma breve interrupção (estimada entre 1 e 5 minutos) durante a fase final, quando o local da tabela é alterado para o novo local gerenciado.
    • Interrupção Temporária do Delta Sharing: O Delta Sharing será temporariamente interrompido durante a conversão, mas voltará a funcionar corretamente assim que o processo for concluído.

    Dica Profissional: Escalando com Conversão em Massa

    Para converter centenas ou milhares de tabelas externas do Unity Catalog em massa dentro de um determinado esquema, você pode usar o seguinte script SQL simples.

    Observação: Este script realiza modificações ao vivo. É altamente recomendável testá-lo completamente em um ambiente de desenvolvimento antes de executá-lo em produção.

    Controlando a Localização Física dos Seus Dados

    Tabelas gerenciadas pelo Unified Catalog (UC) residem em armazenamento gerenciado pelo cliente e são acessíveis por meio de APIs de catálogo abertas. Se você deseja mais controle sobre como seus dados são fisicamente armazenados ou segregar seus dados, você pode definir um local de armazenamento gerenciado no nível do catálogo ou esquema – quaisquer novas tabelas gerenciadas criadas nesse catálogo ou esquema serão organizadas automaticamente nesse local especificado.

    Para tabelas externas preexistentes, você pode definir um local de armazenamento gerenciado e, em seguida, usar o comando SET MANAGED para convertê-las em tabelas gerenciadas pelo UC. Durante a conversão, o sistema respeita o local gerenciado que você definiu, dando a você controle sobre o layout físico de seus dados no armazenamento em nuvem. Entre em contato com sua equipe de contas para acessar este recurso em Private Preview hoje mesmo.

    Convertendo de Tabelas Externas para Gerenciadas Hoje

    Em apenas alguns meses desde o Public Preview, centenas de clientes converteram com sucesso milhares de tabelas com SET MANAGED.

    Tudo o que é descrito aqui agora está em GA – experimente hoje e desbloqueie o desempenho, a governança e a simplicidade das Tabelas Gerenciadas do Unity Catalog.

    (Esta publicação no blog foi traduzida utilizando ferramentas baseadas em inteligência artificial) Publicação original

    Receba os posts mais recentes na sua caixa de entrada

    Assine nosso blog e receba os posts mais recentes diretamente na sua caixa de entrada.