Notebooks particulares¶
Introdução¶
Na Snowsight, é possível criar um notebook privado, de propriedade do usuário. Esse notebook particular é armazenado no seu banco de dados pessoal: um espaço de trabalho dedicado onde você pode criar, modificar e gerenciar seus notebooks particulares. Diferentemente da propriedade baseada em função, os objetos em um banco de dados pessoal são de propriedade de um usuário individual. O ciclo de vida do banco de dados pessoal de um usuário está vinculado a ele. Por exemplo, se um usuário for excluído da conta Snowflake, seu banco de dados pessoal também será excluído. É possível criar notebooks privados em um banco de dados pessoal sem precisar esperar que alguém lhe conceda os privilégios adequados.
Seu banco de dados pessoal recebe o nome de seu nome de usuário no formato USER$username
(por exemplo, USER$JOHNDOE
). Você também pode fazer referência a ele com o prefixo USER$
. É possível visualizar os detalhes de seu banco de dados pessoal em Data » Databases.
Um notebook privado permite que você realize as seguintes tarefas:
Desenvolva códigos de forma interativa e faça experimentos com dados e modelos.
Implemente esses projetos duplicando notebooks de bancos de dados pessoais para bancos de dados regulares e não pessoais.
Para obter detalhes sobre os pré-requisitos do notebook privado, consulte Pré-requisitos para usar notebooks privados.
Para obter detalhes sobre a criação de um notebook privado, consulte Criação de um novo notebook.
Ativação de todas as funções secundárias para usuários de notebooks privados¶
Antes de criar um notebook privado, as funções secundárias devem ser ativadas. Isso ocorre porque os notebooks privados são de propriedade do usuário, não de sua função principal.
O pacote 2024_07 BCR (ativado por padrão) ativou todas as funções secundárias, mas se o administrador de conta desativou o pacote, é necessário:
Habilitar o pacote 2024_07 ou 2024_08 BCR.
Definir o objeto DEFAULT_SECONDARY_ROLES como
('ALL')
para o usuário.
Para ativar todas as funções secundárias de um usuário por padrão, o usuário ou um administrador pode usar o comando ALTER USER para definir a propriedade de objeto DEFAULT_SECONDARY_ROLES como ('ALL')
para o usuário.
Por exemplo, os administradores podem executar a seguinte instrução SQL para ativar todas as funções secundárias de um usuário por padrão:
ALTER USER my_user SET DEFAULT_SECONDARY_ROLES = ('ALL');
Depois que um administrador executa a instrução SQL acima, o usuário pode selecionar Projetos » Notebooks no Snowsight ou executar comandos SQL em uma nova planilha para criar um notebook privado.
Um usuário que deseja executar comandos SQL em uma planilha existente deve executar a seguinte instrução SQL antes de criar um notebook privado:
USE SECONDARY ROLES ALL;
Limitações de notebook privado¶
Os notebooks privados não podem ser agendados.
Restrições do banco de dados pessoal¶
Os usuários só podem criar notebooks e esquemas privados dentro de um banco de dados pessoal. Por exemplo, as tabelas não podem ser criadas e carregadas.
Os usuários não podem alterar, clonar ou replicar seu banco de dados pessoal.
Os usuários não podem mover esquemas entre bancos de dados pessoais e não pessoais.
Os administradores não podem adicionar um banco de dados pessoal a um grupo de replicação para fins de replicação.
Os usuários não podem adicionar um banco de dados pessoal a aplicativos nativos (pacote de aplicativos).
Os usuários e administradores não podem remover e/ou renomear o esquema
USER$.PUBLIC
.Limitações de colaboração:
Os administradores não podem criar funções de banco de dados.
Os usuários e administradores não podem conceder privilégios de
CREATE <objeto>
em seus esquemas a outras pessoas.Os usuários não podem conceder privilégios em seus objetos a compartilhamentos ou a pacotes de aplicativos.
Os usuários não podem conceder o privilégio
REFERENCE_USAGE
em seu banco de dados pessoal para compartilhamentos ou pacotes.Os usuários não podem adicionar um banco de dados pessoal a um compartilhamento (para fins de compartilhamento entre contas).
Organização de notebooks privados¶
É possível criar e usar esquemas como um meio de organizar seus notebooks privados. Por padrão, os bancos de dados pessoais contêm os esquemas padrão denominados PUBLIC e INFORMATION_SCHEMA.
Crie e use novos esquemas da maneira usual, mas certifique-se de que esteja usando seu banco de dados pessoal ao criar esquemas. Por exemplo:
USE DATABASE USER$bobr;
CREATE SCHEMA bobr_schema;
USE SCHEMA bobr_schema;
Você também pode usar o comando ALTER SCHEMA em esquemas de bancos de dados pessoais e pode usar o comando SHOW SCHEMAS para ver os esquemas que pertencem a bancos de dados pessoais. Por exemplo:
ALTER SCHEMA bobr_schema RENAME TO bobr_personal_schema;
SHOW TERSE SCHEMAS;
+-------------------------------+----------------------+------+---------------+-------------+
| created_on | name | kind | database_name | schema_name |
|-------------------------------+----------------------+------+---------------+-------------|
| 2024-10-28 19:33:18.437 -0700 | BOBR_PERSONAL_SCHEMA | NULL | USER$BOBR | NULL |
| 2024-10-29 14:11:33.267 -0700 | INFORMATION_SCHEMA | NULL | USER$BOBR | NULL |
| 2024-10-28 12:47:21.502 -0700 | PUBLIC | NULL | USER$BOBR | NULL |
+-------------------------------+----------------------+------+---------------+-------------+
Como disponibilizar um notebook privado para uso geral¶
Em algum momento do desenvolvimento, você pode querer recriar o notebook fora de seu banco de dados pessoal. Para fazer essa alteração, duplique o notebook original usando o comando CREATE NOTEBOOK. Ao fazer isso, o notebook fica visível para outros usuários.
Por exemplo:
CREATE NOTEBOOK bobr_prod_notebook
FROM 'snow://notebook/USER$BOBR.PUBLIC.bobr_private_notebook/versions/version$1/'
QUERY_WAREHOUSE = 'PUBLIC_WH'
MAIN_FILE = 'notebook_app.ipynb'
COMMENT = 'Duplicated from personal database';
Notebook BOBR_PROD_NOTEBOOK successfully created.
Você também pode criar um notebook privado a partir de um notebook criado em um banco de dados de produção.
Nota
Não é possível concluir essa tarefa por meio da interface de usuário Snowsight; é necessário usar um comando SQL explícito (em uma célula SQL de um bloco de notas ou em uma planilha, por exemplo).
Exibição de informações sobre notebooks privados e bancos de dados pessoais¶
Os usuários individuais podem usar o Snowsight para visualizar informações sobre os notebooks. Vá para Projects » Notebooks. O proprietário do notebook é listado como o usuário.
Para obter informações sobre bancos de dados, incluindo bancos de dados pessoais, acesse Data » Databases. É possível ver facilmente quais bancos de dados são pessoais porque eles têm o prefixo USER$
.
Você também pode usar os seguintes comandos SHOW e DESCRIBE para visualizar informações sobre notebooks privados, bancos de dados pessoais e esquemas dentro desses bancos de dados pessoais:
Nota
Atualmente, os administradores não podem ver os objetos de notebook privado que pertencem a outros usuários.
Por exemplo, descreva um notebook privado:
DESCRIBE NOTEBOOK USER$.PUBLIC.bobr_private_notebook;
Por exemplo, mostre informações sobre um ou mais notebooks privados:
SHOW NOTEBOOKS;
SHOW NOTEBOOKS LIKE 'bobr_private_notebook';
Por exemplo, mostrar o banco de dados pessoal do usuário atual:
SHOW DATABASES LIKE 'USER$BOBR';
Para bancos de dados pessoais, o valor na coluna kind
é PERSONAL DATABASE
.