Como agendar seu notebook Snowflake para ser executado

Você pode agendar seu notebook Snowflake para ser executado como uma tarefa. As tarefas são executadas e o código é executado dentro do Snowflake. Para obter mais informações sobre as tarefas, consulte Introdução às tarefas.

Sobre o agendamento de execuções de notebooks

Ao criar um cronograma para executar seu notebook, o Snowsight cria uma tarefa para executar seu notebook nesse cronograma. Isso executa o notebook em um modo não interativo, célula por célula, de cima para baixo. Essa tarefa é de propriedade da função de proprietário do notebook e usa o warehouse do notebook para ser executada. Por padrão, as execuções de tarefas com falha do notebook são suspensas automaticamente após 10 falhas.

Cada execução do notebook inicia o notebook e o conecta ao warehouse do notebook. Como resultado, o warehouse usado pelo notebook é retomado e permanece ativo por até 15 minutos após a conclusão da tarefa agendada. Consulte Considerações sobre faturamento para execução de Snowflake Notebooks.

Privilégios necessários para executar seu notebook em um cronograma

Como o processo de execução de um notebook em um cronograma cria e executa uma tarefa, você deve usar uma função que tenha os seguintes privilégios:

Privilégio

Objeto

EXECUTE TASK

Conta

USAGE

Banco de dados com o notebook

USAGE, CREATE TASK

Esquema com o notebook

Como agendar seu notebook

Para agendar a execução de seu notebook, crie uma tarefa fazendo o seguinte:

Nota

Você deve usar uma função com o privilégio CREATE TASK e EXECUTE TASK. Consulte a seção de privilégios necessários para ver uma lista completa.

  1. Selecione Projects » Notebooks.

  2. Localize e selecione o notebook que deseja agendar.

  3. No notebook, selecione o botão de cronograma e Create schedule.

    Botão Agendar no canto superior direito.

    A caixa de diálogo Schedule a notebook run aparece.

  4. Para Schedule name, insira um nome para o cronograma de notebook. Isso é usado como o nome da tarefa que executa o notebook.

  5. Para Frequency, selecione uma frequência na qual o notebook será executado (por exemplo, Daily).

  6. Dependendo da frequência que você selecionar, ajuste Scheduled time e outras opções para combinar quando você quer que o notebook seja executado.

  7. Opcionalmente, para Parameter, você pode adicionar argumentos de sintaxe de linha de comando para passar para o notebook agendado. Por exemplo: key1=value1 key2=value2 --option2.

    Nota

    Se você passar -- (dois traços) como um argumento independente, qualquer argumento passado antes dos traços será interpretado como passado para o notebook runtime.

  8. Revise a versão preliminar do cronograma e selecione Create.

Uma tarefa que agenda a execução do seu notebook é criada.

Gerenciamento de cronogramas de notebooks

Após criar cronogramas para seu notebook, você pode visualizar e editá-los por meio da lista de tarefas do esquema em que o notebook está.

  1. Selecione Projects » Notebooks.

  2. Localize e selecione o notebook cujos cronogramas deseja gerenciar.

  3. No notebook, selecione o botão de cronograma e View schedules. Isso exibe uma tabela de todas as tarefas contidas no esquema em que o notebook está.

  4. Use o menu de reticências verticais mais ações para planilha na tarefa que executa seu notebook e selecione uma ação.

Você pode fazer edições, como alterar o horário ou a frequência do cronograma e suspender ou descartar a tarefa completamente. Consulte Introdução às tarefas para mais detalhes sobre o gerenciamento de tarefas.

Acessar parâmetros em um notebook agendado

Você pode acessar parâmetros em um notebook agendado usando sys.argv. Por exemplo:

# first argument
sys.argv[0]

# print the entire list
st.write(sys.argv)
Copy

Gerenciamento de execuções de notebook agendadas anteriormente

Depois que seu notebook for executado conforme o cronograma, você poderá revisar o histórico de execução do notebook:

  1. Selecione Projects » Notebooks.

  2. Localize e selecione o notebook que deseja agendar.

  3. No notebook, selecione o botão de cronograma e View run history.

    A caixa de diálogo Run History de seu notebook é exibida.

  4. Você pode revisar o histórico de execução do notebook, incluindo a atividade de execução gerada pela tarefa agendada ou uma API. As execuções de notebook realizadas por um usuário não são incluídas. Você pode revisar os seguintes detalhes:

    • Trigger: O nome da tarefa que fez com que o notebook fosse executado.

    • Last Ran: O carimbo de data/hora da última execução agendada do notebook.

    • Status: O status da tarefa executada.

    • Duration: O tempo que levou para executar o notebook.

    • Results: Um link para os resultados da execução do notebook. Os resultados são somente leitura e as células do notebook não podem ser editadas. Você pode selecionar Edit current notebook para abrir e editar a versão atual do notebook.

  5. Selecione opcionalmente View all tasks in schema para ver uma tabela de todas as tarefas contidas no esquema.

  6. Selecione Done para retornar ao seu notebook.

Para obter mais informações sobre como visualizar o histórico de tarefas, consulte Visualização do histórico de tarefas para sua conta.

Uso do seu próprio cronograma

Alguns clientes podem preferir executar o notebook usando sua própria ferramenta de cronograma, como o Airflow. Para fazer isso, eles podem executar o seguinte comando:

EXECUTE NOTEBOOK DB.SCHEMA.NOTEBOOK_NAME();
Copy

Isso executa o notebook célula por célula, de cima para baixo. Os resultados podem ser acessados na seção de histórico de execução do notebook.

Limitações

  • O histórico de execução de seus notebooks agendados é limitado aos últimos 7 dias.

  • Alterar o nome de um notebook em execução como uma tarefa agendada pode causar um erro na tarefa. Você pode editar manualmente a tarefa usando o comando CREATE TASK para chamar o notebook com o nome alterado.