Partilhar via


Isolamento de blocos de notas

O isolamento de blocos de notas refere-se à visibilidade de variáveis e classes entre blocos de notas. O Azure Databricks suporta dois tipos de isolamento:

  • Isolamento de variáveis e classes
  • Isolamento de sessões do Apache Spark

Nota

O Azure Databricks gerencia o isolamento do usuário usando modos de acesso configurados em clusters.

  • Sem isolamento compartilhado: vários usuários podem usar o mesmo cluster. Os utilizadores partilham as credenciais definidas ao nível do cluster. Não são impostos controlos de acesso a dados.
  • Usuário único: somente o usuário nomeado pode usar o cluster. Todos os comandos são executados com os privilégios desse utilizador. Não são impostas as ACLs de tabela no metastore do Hive. Este modo de acesso suporta o Unity Catalog.
  • Compartilhado: vários usuários podem usar o mesmo cluster. Os utilizadores estão totalmente isolados uns dos outros e cada um executa os comandos com os seus próprios privilégios. São impostas as ACLs de tabela no metastore do Hive. Este modo de acesso suporta o Unity Catalog.

Isolamento de variáveis e classes

As variáveis e as classes estão disponíveis apenas no bloco de anotações atual. Por exemplo, dois blocos de anotações anexados ao mesmo cluster podem definir variáveis e classes com o mesmo nome, mas esses objetos são distintos.

Para definir uma classe que seja visível para todos os blocos de anotações anexados ao mesmo cluster, defina a classe em uma célula de pacote. Em seguida, você pode acessar a classe usando seu nome totalmente qualificado, que é o mesmo que acessar uma classe em uma biblioteca Scala ou Java anexada.

Isolamento da sessão de faísca

Cada bloco de anotações anexado a um cluster tem uma variável spark predefinida chamada que representa um SparkSessionarquivo . SparkSession é o ponto de entrada para usar APIs do Spark, bem como definir configurações de tempo de execução.

O isolamento da sessão do Spark está habilitado por padrão. Também pode utilizar vistas temporárias globais para partilhar vistas temporárias entre blocos de notas. Consulte CREATE VIEW. Para desativar o isolamento de sessão do Spark, defina spark.databricks.session.share como true na configuração do Spark.

Importante

A configuração spark.databricks.session.share true quebra o monitoramento usado por células de notebook de streaming e trabalhos de streaming. Especificamente:

  • Os gráficos nas células de streaming não são exibidos.
  • Os trabalhos não bloqueiam enquanto um fluxo estiver em execução (eles apenas terminam "com sucesso", interrompendo o fluxo).
  • Os fluxos em trabalhos não são monitorados para encerramento. Em vez disso, você deve chamar awaitTermination()manualmente .
  • Chamar a opção Criar uma nova visualização no streaming de DataFrames não funciona.

As células que acionam comandos em outros idiomas (ou seja, células que usam , , %re ) e %sqlas células que %scalaincluem outros blocos de anotações (ou seja, %pythoncélulas que usam %run) fazem parte do bloco de anotações atual. Assim, estas células estão na mesma sessão que outras células do caderno. Por outro lado, um fluxo de trabalho de bloco de anotações executa um bloco de anotações com um bloco de anotações isolado, o que significa que as exibições temporárias definidas nesse bloco SparkSessionde anotações não são visíveis em outros blocos de anotações.