Python

Esta tarefa permite executar scripts na linguagem Python, e a versão utilizada pode ser escolhida de acordo com as versões disponibilizadas pelo administrador do Gaio. As bibliotecas podem ser instaladas e gerenciadas por desenvolvedores do Gaio. Além disso, disponibilizamos uma classe chamada bucket que permite extrair e exportar dados que estão no banco ClickHouse que sua aplicação tem permissão para usar.

circle-info

Limite de Memória A tarefa Python no Gaio é limitada por padrão a um máximo de 80% da memória da máquina; se exceder esse limite, retornará um erro de limite de memória.


Como Configurar a tarefa Python

Vamos simplesmente navegar pela interface da tarefa e, após isso, desenvolveremos um script simples como exemplo.


1. Abrir a Tarefa Python

  • No Studio, vá até o painel de Tasks.

  • Na seção Analytics, selecione Python.


2. Preencher os campos obrigatórios

A primeira página é a principal da tarefa. Nela, à esquerda, temos o espaço em um tema azul para escrever o script, enquanto à direita, em um tema escuro, fica o console, onde podemos visualizar a saída do script. Para executar seu script, basta clicar no botão "run" e o resultado será exibido no console.

Python Task Code Page

É possível salvar os arquivos gerados no script, como jpeg, png, mp4, pkl, entre outros. O nome dessa pasta é assets.

circle-info

Existem três pastas que você pode usar através da tarefa Python, que são as pastas content, inputs e output da sua aplicação. Abaixo está um exemplo de como criar seu caminho para a pasta outputs para que você possa baixar a imagem gerada.

Na caixa de texto, você deve escrever em cada linha o nome correto da biblioteca que deseja instalar (apenas o nome, sem quaisquer outros caracteres, conforme mostrado na imagem abaixo). Após escolher a versão do Python e as bibliotecas, basta clicar no botão "Instalar" para que suas configurações sejam executadas.

Python Task Environment Page

Como mencionado anteriormente, temos uma classe chamada bucket, que se conecta ao ClickHouse de forma encapsulada e possui os métodos query_df, command, insert_df e create_df.

Exemplos

Função que transforma um select do ClickHouse em um dataframe pandas no Python.

Função que faz uma cópia de uma tabela do ClickHouse indicada para um dataframe pandas.

Na primeira linha temos a função que cria uma tabela no ClickHouse que é semelhante ao seu dataframe pandas, na segunda linha inserimos os dados do seu dataframe pandas na tabela do ClickHouse.

Note que para executar a função insert_df precisamos que seu dataframe pandas seja semelhante à sua tabela no ClickHouse.

Exemplo prático

Neste exemplo prático passaremos pela etapa de trazer os dados para o Python, realizar agrupamento, salvar uma imagem em formato png, salvar o arquivo do modelo, e criar e salvar a tabela final no ClickHouse.

Primeiro, vamos importar as bibliotecas que serão utilizadas

Para este exemplo usaremos a famosa tabela iris fornecida por várias bibliotecas como scikit-learn. Esta tabela está no banco ClickHouse dentro do Gaio. Usaremos a função select_df para trazê-la para o Python e então aplicar o algoritmo kmeans fornecido pela biblioteca scikit-learn.

Neste próximo passo, vamos visualizar os grupos encontrados pelo modelo e salvar a figura na pasta assets.

Agora vamos salvar este modelo para que ele possa ser reutilizado em outros momentos; para isso usaremos a biblioteca joblib.

Agora podemos enviar o dataframe com a nova coluna gerada pelo modelo ao ClickHouse para que possa ser usado por outras tarefas do Gaio. Para isso usaremos create_df e insert_df.

Atualizado