Criar e trabalhar com tabelas de saída no Databricks Clean Rooms
Esta página apresenta as tabelas de saída, que são tabelas temporárias somente leitura geradas por uma execução do Notebook e compartilhadas com o metastore Unity Catalog do executor do Notebook. Este artigo descreve como usar um Notebook para criar tabelas de saída e como os executores podem ler essas tabelas de saída em seu metastore Unity Catalog.
Visão geral das tabelas de saída
As tabelas de saída permitem salvar temporariamente a saída do Notebook que está sendo executado em uma sala limpa em um catálogo de saída no metastore Unity Catalog, onde é possível disponibilizar os dados para os membros da equipe que não têm a capacidade de executar o Notebook por conta própria. O senhor também pode usar o LakeFlow Jobs para executar o Notebook e realizar tarefas nas tabelas de saída. Combinadas com o tipo de tarefa do Clean Room Notebook e o suporte a valores de tarefa, as tabelas de saída permitem que o senhor crie fluxos de trabalho complexos que dependem do Clean Room Notebook.
As tabelas de saída são somente para leitura.
Somente a entidade específica (usuário, grupo ou entidade de serviço) que executa o Notebook tem acesso de leitura default à tabela de saída. Não há permissão de escrita. Um administrador de metastore pode conceder acesso de leitura a outras entidades principais em sua account Databricks, usando privilégios do Unity Catalog.
Para, em vez disso, disponibilizar a saída para todos os colaboradores na clean room, grave em um esquema de saída compartilhado. Consulte Compartilhar a saída com todos os colaboradores.
Tabelas de saída são armazenadas por 30 dias no local de armazenamento default da sala limpa central e compartilhadas com o metastore do executor usando o OpenSharing. Se desejar manter uma tabela de saída por mais de 30 dias, é preciso copiá-la para o armazenamento local.
Cada execução do Notebook cria um novo esquema no catálogo de saída. A nova execução não pode anexar uma tabela de saída existente.
Os colaboradores em Databricks em todas as três nuvens - AWS, Azure e Google Cloud - podem compartilhar o Notebook que cria tabelas de saída e podem ler as tabelas de saída que são geradas quando executam o Notebook compartilhado.
Crie uma tabela de saída
Para criar uma tabela de saída, use os parâmetros cr_output_catalog e cr_output_schema no namespace da tabela de três partes. Cada execução do Notebook produz um novo esquema.
No exemplo a seguir, a célula Notebook cria uma tabela de saída chamada overlapping_users no catálogo de saída do executor que lista os usuários cujo endereço email aparece nas tabelas collaborator.advertiser.profiles e creator.publisher.profiles.
CREATE TABLE identifier(:cr_output_catalog || '.' || :cr_output_schema || '.overlapping_users') AS
SELECT collab_profiles.*
FROM collaborator.advertiser.profiles AS collab_profiles
JOIN creator.publisher.profiles AS creator_profiles
ON collab_profiles.email = creator_profiles.email
Compartilhe os resultados com todos os colaboradores.
Visualização
Esse recurso está em Public Preview.
Por default, a tabela de resultados só fica acessível ao colaborador que executa o Notebook e somente após a execução ser concluída com sucesso. Com a saída compartilhada, a execução de um notebook também pode gravar em um esquema de saída compartilhado que todos os colaboradores podem ler imediatamente, mesmo antes da conclusão da execução.
Uma única execução de notebook pode gravar em ambos os esquemas:
- Use
cr_output_schemapara gravar tabelas que apenas o executor pode ler. - Use
cr_shared_output_schemapara escrever tabelas que todos os colaboradores possam ler.
Antes de começar
-
O criador deve criar uma nova sala limpa com a Saída Compartilhada ativada. A saída compartilhada é definida quando a sala limpa é criada e não pode ser alterada posteriormente. A página de detalhes da sala limpa mostra "Saída Ativada" quando a saída compartilhada está ligada.
-
Crie o catálogo de saída imediatamente após criar a sala limpa. Consulte a seção " Antes de começar". Se você criar o catálogo de saída após uma execução, os colaboradores podem não ter as permissões necessárias no esquema de saída compartilhado. O proprietário da sala limpa deve conceder-lhes as permissões posteriormente.
Escreva no esquema de saída compartilhado
Em um Notebook, utilize o parâmetro cr_shared_output_schema no namespace de tabela de três partes. O exemplo a seguir grava resultados que todos os colaboradores podem ler:
CREATE TABLE identifier(:cr_output_catalog || '.' || :cr_shared_output_schema || '.audience_overlap') AS
SELECT creator_profiles.segment_id, COUNT(DISTINCT collab_profiles.email) AS overlap_count
FROM collaborator.advertiser.profiles AS collab_profiles
JOIN creator.publisher.profiles AS creator_profiles
ON collab_profiles.email = creator_profiles.email
GROUP BY creator_profiles.segment_id
As tabelas no esquema de saída compartilhado ficam disponíveis para todos os colaboradores assim que são criadas, mesmo antes da conclusão da execução. As tabelas que você escreve no cr_output_schema exclusivo do executor permanecem disponíveis apenas para o executor e somente após a execução ser concluída com sucesso.
Para análises de JAR, o Clean Rooms injeta automaticamente o esquema de saída compartilhado como um parâmetro --cr_shared_output_schema <value> que seu JAR pode referenciar. Consulte Executar cargas de trabalho JAR em salas limpas do Databricks.
O esquema de saída compartilhado é excluído automaticamente após 30 dias.
Leia uma tabela de saída
As tabelas de saída aparecem em um catálogo compartilhado no metastore do executor do Notebook. No painel Catálogo do Catalog Explorer, eles aparecem na lista de catálogos compartilhados .
Ler uma tabela de saída é como ler qualquer outra tabela no Unity Catalog. Você deve ter SELECT na tabela, USE CATALOG no catálogo de saída compartilhado e USE SCHEMA no esquema gerado automaticamente. O usuário que executou o Notebook que criou a tabela tem essas permissões pelo site default.
A exclusão de uma sala limpa remove todas as tabelas de saída e o histórico de dados do catálogo de saída.
Antes de começar
Esta seção descreve os requisitos de nuvem, configuração e compute para a leitura de tabelas de saída.
Requisito de catálogo de saída compartilhado
Antes de ler as tabelas de saída, o usuário deve criar o catálogo que as contém. Você só precisa fazer isso uma vez por sala limpa. O proprietário da sala limpa tem permissão para ler e gerenciar o catálogo de saída pelo site default.
Permissões necessárias : EXECUTE CLEAN ROOM TASK
- Em seu site Databricks workspace, clique em
Catalog .
- Clique no botão Salas Limpas > .
- Selecione a sala limpa na lista.
- No painel direito, em Saída , clique em Criar catálogo .
- Digite um nome de catálogo de saída ou aceite o endereço default, que é
<clean-room-name>_output.
O catálogo de saída aparece na lista de catálogos compartilhados no painel Catálogo do Catalog Explorer. Cada sala limpa da qual você participa pode ter um catálogo de resultados compartilhado em sua metastore.
requisitos de computação
As consultas em tabelas de saída exigem serverless compute. Consulte Conectar-se a serverless compute .
Permissões necessárias para ler uma tabela de saída
O usuário que executou o Notebook que criou a tabela de saída e o proprietário da sala limpa têm permissão para ler e gerenciar a tabela de saída pelo site default. Todos os outros usuários devem ter as seguintes permissões concedidas a eles:
SELECTna mesaUSE CATALOGno catálogo de saídaUSE SCHEMAno esquema de saída
execução the Notebook
Para gerar tabelas de saída compartilhadas em seu catálogo de saída, um usuário com acesso à sala limpa deve executar o Notebook. Veja o Notebook de execução em salas limpas. Cada execução do Notebook cria um novo esquema e uma nova tabela de saída.
O senhor pode usar o LakeFlow Jobs para executar o Notebook e realizar tarefas nas tabelas de saída, permitindo um fluxo de trabalho complexo. Veja Use LakeFlow Jobs to execution clean room Notebook.
Localizar e view uma tabela de saída
O usuário que executa o Notebook que cria a tabela de saída pode encontrar um link para a tabela de saída nas páginas de histórico de execução e detalhes de execução do Notebook na UI do Clean Rooms . Em ambos os casos, o link está no campo Esquema de saída . Ver Monitor clean room Notebook execução.
execução história:

detalhes da execução:

Você também pode encontrar o catálogo de saída na lista de catálogos compartilhados no painel Catálogo do Catalog Explorer.
Limitações
Além dos requisitos listados em Visão geral das tabelas de saída e Antes de começar, as tabelas de saída têm as seguintes limitações:
- As tabelas de saída são compatíveis apenas quando a sala limpa foi criada após o lançamento do recurso de tabela de saída.
- Somente tabelas são suportadas. Volumes e visualizações, por exemplo, não são.
- O senhor está limitado ao número de tabelas de saída que cada Notebook pode suportar. Veja limites de recurso.