O novo comando SET MANAGED fornece um mecanismo contínuo para converter UC externa tabelas para UC gerenciada tabelas enquanto minimiza o tempo de inatividade, lida com gravações simultâneas, mantém configurações de tabelas e, sempre que possível, preserva o histórico da tabela. Este artigo compartilha práticas recomendadas e fornece um guia passo a passo para usar este comando geralmente disponível (GA):
Por que converter para tabelas gerenciadas por UC?
Com o Unity Catalog como fonte de verdade, as tabelas gerenciadas desbloqueiam recursos exclusivos que melhoram o desempenho, governançae facilidade de uso — sem dependência de fornecedor.
As principais vantagens incluem:
- Otimizações automáticas que podem aumentar o desempenho das consultas em 20 vezes e reduzir os custos de armazenamento em mais de 50% (mais detalhes aqui).
- Gerenciamento de dados simplificado com limpeza automática de dados perdidos para economizar custos, bem como suporte para cancelamento de descarte
- Governança aprimorada com linhagem de dados, controles de acesso refinados e acesso mais seguro a tabelas com supervisão do Unity Catalog sobre todas as leituras e gravações
- UM base para capacidades futuras como exclusão automática de linha (Auto-TTL) e ingestão em nível de linha Ingestão Zerobus, em Visualização Privada).
As tabelas convertidas suportam leituras de qualquer cliente de terceiros (consulte 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 tabelas gerenciadas
Recurso | Benefício do comando SET MANAGED |
|---|---|
Reduce o tempo de inatividade | Mantenha a tabela on-line e disponível para leituras usando o Databricks Runtime 16.1 ou superior e reduce tempo de inatividade apenas alguns minutos para gravações (ou para leituras no Databricks Runtime 15.4 ou inferior). |
Preservar a identidade | O nome, as permissões, as tags e as configurações da tabela para todas as tabelas e o histórico da tabela (para tabelas Delta) são mantidos. |
Lidar com simultaneidade | O comando SET MANAGED trata com segurança gravações simultâneas que podem ocorrer durante a conversão. |
Reverter | Outro comando chamado UNSET MANAGED permite reverter uma tabela convertida para UC externo dentro de 14 dias, como uma rede de segurança. |
Como faço para converter tabelas externas em tabelas gerenciadas?
Guia passo a passo de um profissional para conversão
O comando SET MANAGED simplifica a conversão de tabelas. Em um guia passo a passo, descrevemos dicas importantes para garantir uma transição tranquila de tabelas externas para tabelas gerenciadas.
Etapa 1: selecione tabelas externas para converter
Comece selecionando alguns itens externos do Unity Catalog tabelas para converter primeiro para UC gerenciado, para familiarizar sua equipe com o processo, os pré-requisitos e as 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 do Databricks (consulte planejando uma jornada encenada).
Etapa 2: lista de verificação pré-voo
Verifique se o seu ecossistema de leitores e escritores de tabelas está pronto para a mudança. Para cada tabela externa de UC selecionada e suas cargas de trabalho associadas, você desejará:
- Atualização para usar acesso baseado em nome: Verifique seus trabalhos, notebooks e consultas para garantir que eles acessem a tabela usando seu nome de três partes (catalog.schema.desk) em vez de usar acesso baseado em caminho (por exemplo, SELECT * FROM delta.’s3://path/to/desk’). Laboratórios de databricks desenvolveu Ferramentas UCX que pode ajudá-lo a encontrar referências baseadas em caminho executando o seguinte código lint-local-code do Databricks Labs UCX em um terminal IDE, para analisar o código de diretório da sua máquina native (arquivos .py ou .sql).
- Cancelar todos os trabalhos de manutenção: Para evitar conflitos, certifique-se de que nenhuma tarefa OPTIMIZE, ZORDER ou CLUSTER BY esteja em execução ou programada para execução na tabela durante o processo de conversão, se existirem (pode verificar usando DESCRIBE HISTORY). Após a conversão, o Predictive Optimization tratará automaticamente dos trabalhos de otimização.
- (Opcional) Atualizar versões de tempo de execução do Databricks: Todos os clusters do 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 totalmente o tempo de inatividade do leitor.
Etapa 3: execute o comando de conversão
Execute a conversão usando o seguinte comando de conversão:
Nota: Para tabelas com UniForm ativado, use SET MANAGED TRUNCATE UNIFORM HISTORY.
Etapa 4: verifique 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 “Sort” agora deve ser exibida como “MANAGED”. Você também pode ver essas mesmas informações na seção ‘Sobre esta tabela’ do Catalog Explorer.

Etapa 5: limpeza pós-conversão
Após uma conversão bem-sucedida, conclua estas etapas finais para garantir uma transição tranquila:
- Reinicie os trabalhos de leitura ou gravação de streaming que usam a tabela, caso algum tenha sido pausado
- Execute testes funcionais executando consultas-chave para garantir que todos os leitores e gravadores estejam operando conforme esperado na tabela recém-gerenciada
- Confirme se a Otimização Preditiva agora está habilitado para a tabela para começar a se beneficiar da manutenção automatizada (você também pode habilitar CLUSTER por AUTOpara agrupamento automático de líquidos, ou verificar se estiver ativado).
Planejando uma jornada encenada
Uma conversão bem-sucedida de todas as tabelas para gerenciamento de UC é uma jornada – adotar uma abordagem em fases e planejar com antecedência pode ajudar a garantir uma transição tranquila:
- Converter tabelas somente para databricks: Priorize a conversão de tabelas que são lidas e gravadas exclusivamente por clientes do Databricks. Uma ferramenta experimental, Acessar informaçõespode ser usado para ajudar a identificar tabelas apenas com “leitores e gravadores de databricks” versus “leitores que não são de databricks” ou “gravadores que não são de databricks”.
- Converter tabelas com ferramentas externas suportadas: Decide quais tabelas são acessadas por ferramentas de terceiros que também suporta leituras nativamente das tabelas gerenciadas por UC e converta-as a seguir. O acesso de terceiros continuará funcionando após a conversão.
- Aborde os casos complexos por último: Para tabelas acessadas com ferramentas legadas não suportadas, planeje usar soluções como Modo de compatibilidade para leituras. Quando forem necessárias gravações de terceiros, recrie essas tabelas e habilite gravações nessas tabelas gerenciadas por UC na Visualização Pré-visualização.
Considerações Adicionais
Os seguintes detalhes sobre o comando de conversão podem ser úteis para saber com antecedência:
- Limite de tempo de reversão: Para usar a rede de segurança de reversão, UNSET MANAGED deve ser executado na tabela gerenciada UC dentro 14 dias de conversão – depois disso, os dados externos originais serão excluídos permanentemente para economizar custos de armazenamento.
- Nuances da viagem no tempo: Atualizar clientes para 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 confirmações históricas por número de versão após a conversão, não por carimbo de knowledge/hora.
- Tempo de inatividade minimizado para escritores: O comando foi projetado para minimizar o tempo de inatividade – os gravadores podem sofrer uma breve interrupção (estimada entre 1 e 5 minutos) durante a fase last, quando o native da tabela é alterado para o novo native gerenciado.
- Interrupção temporária de compartilhamento Delta: O Delta Sharing será temporariamente interrompido durante a conversão, mas funcionará corretamente novamente assim que o processo for concluído.
Dica profissional: ampliando 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 script SQL simples a seguir.
Nota: Este script realiza modificações ao vivo. É altamente recomendável testá-lo minuciosamente em um ambiente de desenvolvimento antes de executá-lo em produção.
Controlando a localização física dos seus dados
Tabelas gerenciadas do Catálogo Unificado (UC) residem em armazenamento gerenciado pelo cliente e são acessíveis por meio de APIs de catálogo aberto. Se quiser ter mais controle sobre como seus dados são armazenados fisicamente, você pode definir um native de armazenamento gerenciado no nível do catálogo ou esquema – quaisquer novas tabelas gerenciadas criadas nesse catálogo ou esquema serão automaticamente organizadas nesse native especificado.
Para tabelas externas pré-existentes, você pode definir um native de armazenamento gerenciado e, em seguida, usar o comando SET MANAGED para convertê-las em tabelas gerenciadas por UC. Durante a conversão, o sistema respeita o native gerenciado que você definiu, dando a você controle sobre o format físico dos seus dados no armazenamento em nuvem. Entre em contato com sua equipe de conta para acessar esse recurso na Visualização Privada hoje mesmo.
Convertendo hoje de tabelas externas para tabelas gerenciadas
Em apenas alguns meses desde a Visualização Pública, centenas de clientes converteram com sucesso milhares de tabelas com SET MANAGED.
Tudo descrito aqui agora é GA. Experimente hoje mesmo e descubra o desempenho, a governança e a simplicidade das tabelas gerenciadas do Unity Catalog.