Principais funções da Dadosfera Library

bulk_delete_data_assets

O step define a estrutura para um payload JSON destinado à exclusão em massa de ativos de dados no Maestro, com objetivo de manter um conjunto de dados organizado, removendo dados redundantes ou indesejados em massa, garantindo uma gestão eficiente dos dados.

Pré-requisitos

  • Um nome de usuário e senha da Dadosfera.
  • Permissões para excluir os ativos de dados.
  • Compreensão adequada dos ativos de dados que você deseja excluir.

Configuração

Variáveis de Ambiente

As seguintes variáveis de ambiente são requeridas para execução do step:

  • DADOSFERA_USERNAME: O usuário de login no ambiente Dadosfera.
  • DADOSFERA_PASSWORD: A senha de login no ambiente Dadosfera.
Parâmetros:
  • maestro_base_url: representa a URL base da API do Maestro. Os valores permitidos incluem "https://maestro.dadosfera.ai" e "https://maestro.stg.dadosfera.ai".

  • additional_params: um array de parâmetros que atuam como filtros para determinar quais ativos de dados serão excluídos. Cada parâmetro consiste em uma chave (nome do filtro) e um valor (critério de filtro).

Observação: Certifique-se de selecionar a URL base correta e as informações de acesso de forma apropriada para evitar perda acidental de dados ou redirecionamentos incorretos.

get_data_assets

Sobre o projeto

Este step é usado para obter ativos de dados da plataforma Maestro da Dadosfera, permitindo armazenar e utilizar os resultados nos pipelines de inteligência.

Pré-requisitos

  • Acesso à API do Maestro.
  • Conhecimento dos ativos de dados específicos que pretende recuperar.

Configuração

Variáveis de Ambiente

As seguintes variáveis de ambiente são requeridas para execução do step:

  • DADOSFERA_USERNAME: O usuário de login no ambiente Dadosfera.
  • DADOSFERA_PASSWORD: A senha de login no ambiente Dadosfera.
Parâmetros:
  • maestro_base_url: Representa a URL base para a API do Maestro. Valores aceitáveis são "https://maestro.dadosfera.ai" e "https://maestro.stg.dadosfera.ai".

  • output_type: Define como a saída será gerada: pode ser salva em uma variável (to_outgoing_variable) ou em um arquivo de saída (to_filepath).

  • output_variable_name: Define o nome da variável de saída.

  • additional_params: Um array contendo parâmetros que atuam como filtros para determinar quais ativos de dados serão recuperados. Cada parâmetro é definido por uma chave (nome do filtro) e um valor (critério do filtro).

Observação: É essencial definir a URL base correta e especificar a variável de saída com cuidado para garantir que os dados sejam extraídos com precisão.

Exemplos de configuração
Obtendo todos os dados de uma pipeline especifica
{
  "maestro_base_url": "https://maestro.dadosfera.ai",
  "output_variable_name": "arbitrary_output_name",
  "additional_params": [
    {
      "key": "pipeline_id",
      "value": "28f8de4d-f46d-47a4-83fb-42069c1861ae"
    }
  ]
}
Obtendo todos os dashboards
{
  "maestro_base_url": "https://maestro.dadosfera.ai",
  "output_variable_name": "arbitrary_output_name",
  "additional_params": [
    {
      "key": "data_asset_type",
      "value": "dashboard"
    }
  ]
}

get_files_from_google_drive

O step permite acessar e extrair todos os arquivos em uma pasta específica do Google Drive, autenticando-se com um serviço de conta de serviço.

Pré-requisitos

  • Acesso ao serviço de conta de serviço (service account) do Google Drive.
  • Conhecimento do ID da pasta no Google Drive que deseja listar.

Configuração

Parâmetros

Os seguintes parâmetros deverão ser fornecidos ao executar o step:

  • service_account_file: caminho para o arquivo JSON de credenciais da conta de serviço do Google Drive.
  • selected_folder_id: ID da pasta no Google Drive da qual deseja listar os arquivos.
  • outgoing_variable_name: nome da variável de saída a ser utilizada para armazenar a lista de arquivos.

Obs: Essa função é facilmente integrável com outras funções, e assim sendo, a variável outgoing_variable_name deverá ter o mesmo nome da variável input_variable_name do step posterior.

get_objects_from_s3

O step lista e recupera objetos de um bucket S3 da AWS, com base em um prefixo fornecido. Ela retorna uma lista de dicionários contendo o conteúdo dos arquivos, suas chaves e nomes.

Pré-requisitos

  • Credenciais AWS: É necessário ter as credenciais da AWS configuradas no ambiente para que o boto3 possa autenticar e acessar o bucket S3
  • Conhecimento de quais objetos desejam ser importados da AWS.

Configuração

Parâmetros

Os seguintes parâmetros deverão ser fornecidos ao executar o step:

  • bucket_name: nome do bucket S3 onde os objetos serão listados. (Obrigatório)
  • prefix: prefixo que será utilizado para filtrar os objetos. (Opcional)
Resposta

A função retorna uma lista de dicionários, onde cada dicionário representa um objeto encontrado. Cada dicionário contém as seguintes informações:

  • file_content: conteúdo do arquivo em bytes.
  • key: Chave do objeto no bucket S3.
  • file_name: nome do arquivo sem a extensão.

get_pipelines

O step é utilizado para obter uma lista de pipelines do Maestro.

Pré-requisitos

  • Credenciais na Dadosfera

Configuração

Variáveis de Ambiente

As seguintes variáveis de ambiente são requeridas para execução do step:

  • DADOSFERA_USERNAME: O usuário de login no ambiente Dadosfera.
  • DADOSFERA_PASSWORD: A senha de login no ambiente Dadosfera.
Parâmetros

Os seguintes parâmetros deverão ser fornecidos ao executar o step:

  • maestro_base_url: representa a URL base para a API do Maestro. Valores aceitáveis são "https://maestro.dadosfera.ai" e "https://maestro.stg.dadosfera.ai".
  • additional_params_array: Um array de dicionários que contém os parâmetros adicionais de filtro
  • output_type: define como a saída será gerada: pode ser salva em uma variável (to_outgoing_variable) ou em um arquivo de saída (to_filepath).

get_status_of_all_pipelines

O step é utilizado para obter o situação dos pipelines do Maestro.

Pré-requisitos

  • Credenciais na Dadosfera

Configuração

Variáveis de Ambiente

As seguintes variáveis de ambiente são requeridas para execução do step:

  • DADOSFERA_USERNAME: O usuário de login no ambiente Dadosfera.
  • DADOSFERA_PASSWORD: A senha de login no ambiente Dadosfera.
Parâmetros

Os seguintes parâmetros deverão ser fornecidos ao executar o step:

  • maestro_base_url: representa a URL base para a API do Maestro. Valores aceitáveis são "https://maestro.dadosfera.ai" e "https://maestro.stg.dadosfera.ai".
  • additional_params_array: Um array de dicionários que contém os parâmetros adicionais de filtro
  • output_type: define como a saída será gerada: pode ser salva em uma variável (to_outgoing_variable) ou em um arquivo de saída (to_filepath).

get_table_from_snowflake

Este step é responsável por extrair dados de uma tabela do Snowflake e retornar um DataFrame Pandas.

Pré-requisitos

  • Credenciais com acesso ao Snowflake

Configuração

Parâmetros

Os seguintes parâmetros deverão ser fornecidos ao executar o step:

  • secret_id: id secreto para conexão com o snowflake;
  • table_identifier: identificador da tabela a ser extraida do snowflake;
  • output_type: define como a saída será gerada: pode ser salva em uma variável (to_outgoing_variable) ou em um arquivo de saída (to_filepath).

put_objects_in_s3

Este step é responsável por enviar um ou mais objetos para um bucket S3 na AWS. Ela recebe como parâmetros:

Pré-requisitos

  • Credenciais com acesso ao AWS;
  • Arquivos para upload para o S3;

Configuração

Parâmetros

Os seguintes parâmetros deverão ser fornecidos ao executar o step:

  • bucket_name: O nome do bucket S3 onde os objetos serão enviados;
  • objects: objetos que serão enviados para o bucket. Todos os objetos terão que ter as chaves
    key: O nome do objeto no S3
    body: O corpo do conteúdo
    content_type: tipo de conteúdo do objeto;
  • input_type: define tipo de entrada: pode ser a partir de um arquivo (from_filepath) ou de uma variável de ambiente (from_incoming_variable);
  • file_extension: informa a extensão do arquivo a ser carregada;
  • prefix: caminho dentro do bucket onde serão direcionados os arquivos;

rfm_analysis

Este step realiza a análise RFM (Recência, Frequência, Valor Monetário) em uma tabela do banco de dados Snowflake. Ele calcula os escores RFM para cada cliente com base em seu comportamento de compra e os categoriza em diferentes tipos de clientes.

Pré-requisitos

  • Credenciais com acesso ao Snowflake;
  • Tabela com estrutura chave identificadoras para cliente, compras e valores;

Configuração

Parâmetros

Os seguintes parâmetros deverão ser fornecidos ao executar o step:

  • secret_id: id secreto para conexão com o snowflake;
  • customer_id_column: O nome da coluna que contém o ID do cliente;
  • date_col: O nome da coluna que contém a data da compra;
  • monetary_col: O nome da coluna que contém o valor da compra;
  • output_type: define como a saída será gerada: pode ser salva em uma variável (to_outgoing_variable) ou em um arquivo de saída (to_filepath);

save_data_in_snowflake

Este step é responsável por salvar os dados em uma tabela Snowflake, executando consultas SQL fornecidas

Pré-requisitos

  • Credenciais com acesso ao Snowflake;

Configuração

Parâmetros

Os seguintes parâmetros deverão ser fornecidos ao executar o step:

  • secret_id: id secreto para conexão com o snowflake;
  • table_identifier: identificador da tabela a ser extraida do snowflake;
  • input_type: define tipo de entrada: pode ser a partir de um arquivo (from_filepath) ou de uma variável de ambiente (from_incoming_variable);
  • snowflake_queries_object: Instrução SQL para criar os objetos para criar as tabelas dentro do Snowflake;

snowflake_flatten_column

Este step é responsável pela etapa de processamento de dados com o objetivo de consolidar colunas aninhadas do tipo snowflake (objeto) em um conjunto de dados

Pré-requisitos

  • Credenciais com acesso ao Snowflake;

Configuração

Parâmetros

Os seguintes parâmetros deverão ser fornecidos ao executar o step:

  • secret_id: id secreto para conexão com o snowflake;
  • auto_discovery_flatten_mode: Permite a detecção automática de colunas para consolidar.;
  • columns_to_flatten: explicitar as colunas para consolidar caso o parametro auto_discovery_flatten_mode não esteja habilitado;
  • incoming_variable_name: nome da variável da etapa que contém a consulta da tabela base;
  • before_apply_operations(opcional): Configurações para modificação das tabela:
    columns_to_remove: Lista de colunas a ser removidas of columns to be excluded.
    column_prefixes_to_remove: Identificar colunas a ser removidas com base no prefixo.
    remove_prefixes_from_columns: Remover prefixo das colunas.

snowflake_remove_columns

Este step é responsável por remover colunas do ambiente do snowflake.

Pré-requisitos

  • Credenciais com acesso ao Snowflake;

Configuração

Parâmetros

Os seguintes parâmetros deverão ser fornecidos ao executar o step:

  • secret_id: id secreto para conexão com o snowflake;
  • columns_to_remove: definir as colunas para remover;
  • input_type: define tipo de entrada: pode ser a partir de um arquivo (from_filepath) ou de uma variável de ambiente (from_incoming_variable);
  • output_type: define como a saída será gerada: pode ser salva em uma variável (to_outgoing_variable) ou em um arquivo de saída (to_filepath);

snowflake_rename_columns

Este step é responsável por renomear colunas de uma tabela especifica no ambiente do snowflake.

Pré-requisitos

  • Credenciais com acesso ao Snowflake;
  • Nome das colunas que deseja renomear;

Configuração

Parâmetros

Os seguintes parâmetros deverão ser fornecidos ao executar o step:

  • secret_id: id secreto para conexão com o snowflake;
  • columns_to_rename: definir as colunas para renomear numa estrutura de chave-valor ("nome da coluna a renomear":"novo nome") ;
  • input_type: define tipo de entrada: pode ser a partir de um arquivo (from_filepath) ou de uma variável de ambiente (from_incoming_variable);
  • output_type: define como a saída será gerada: pode ser salva em uma variável (to_outgoing_variable) ou em um arquivo de saída (to_filepath);

snowflake_text_transformation

Este step é responsável por transformar colunas do tipo texto no ambiente do snowflake.

Pré-requisitos

  • Credenciais com acesso ao Snowflake;
  • Nome das colunas para transformação;

Configuração

Parâmetros

Os seguintes parâmetros deverão ser fornecidos ao executar o step:

  • secret_id: id secreto para conexão com o snowflake;
  • text_transformations: definir que tipo de transformação será aplicada (lower, upper ou trim) ;
  • input_type: define tipo de entrada: pode ser a partir de um arquivo (from_filepath) ou de uma variável de ambiente (from_incoming_variable);
  • output_type: define como a saída será gerada: pode ser salva em uma variável (to_outgoing_variable) ou em um arquivo de saída (to_filepath);

snowflake_unpivot_data

Este step é responsável por "pivotar" uma tabela (transformar linhas em colunas e vice-versa).

Pré-requisitos

  • Credenciais com acesso ao Snowflake;

Configuração

Parâmetros

Os seguintes parâmetros deverão ser fornecidos ao executar o step:

  • secret_id: id secreto para conexão com o snowflake;
  • categorical_column_name: nome da coluna categórica que será usada na operação unpivot. ;
  • numerical_column_name: nome da coluna numérica associada;
  • columns_to_unpivot: nome das colunas que serão recombinadas ("desempacotadas") combinando seus valores para a nova estrutura da tabela;
  • input_type: define tipo de entrada: pode ser a partir de um arquivo (from_filepath) ou de uma variável de ambiente (from_incoming_variable);
  • output_type: define como a saída será gerada: pode ser salva em uma variável (to_outgoing_variable) ou em um arquivo de saída (to_filepath);

standardize_tables_in_snowflake

Este step é responsável padronizar tabelas em um banco de dados Snowflake. Ela recebe como entrada uma lista de tabelas e um dicionário de configurações de padronização. A função itera sobre cada tabela da lista e aplica as configurações de padronização especificadas no dicionário.

Pré-requisitos

  • Credenciais com acesso ao Snowflake;
  • Arquivo de padronização de colunas;

Configuração

Parâmetros

Os seguintes parâmetros deverão ser fornecidos ao executar o step:

  • secret_id: id secreto para conexão com o snowflake;
  • mapping_file_path: caminho do arquivo onde o mapeamento de padronização das colunas está salvo;

standardized_tables_union_all

Em complemento ao step anterior, este step seleciona todas as tabelas padronizadas (que estarão com um prefixo "STANDARDIZED_") e cria uma view, unindo todas as tabelas padronizadas;

Pré-requisitos

  • Credenciais com acesso ao Snowflake;
  • Realizada a padronização de tabelas;

Configuração

Parâmetros

Os seguintes parâmetros deverão ser fornecidos ao executar o step:

  • secret_id: id secreto para conexão com o snowflake;

trigger_job

Este step permite acionar um job específico (aqui chamado de Target Job), com base na execução de outra pipeline. Normalmente esse step estará no final da pipeline. Vale observar que esse step funciona tanto para acionarmos jobs no mesmo projeto dentro do módulo de inteligência, quanto para jobs em projetos diferentes.

Pré-requisitos

  • Conhecimento do instance_url, target_pipeline_uuid e target_job_name do job que deseja acionar;

Configuração

Parâmetros

Esses parâmetros deverão ser selecionados no step na pipeline:

  • instance_url: URL base para o módulo de inteligência. Normalmente estão nesse formato: https://app-intelligence-CLIENTE.dadosfera.ai
  • target_pipeline_uuid: ID da pipeline onde o job que deseja acionar está localizado.
  • target_job_name: Nome do job que deseja acionar. É importante manter o mesmo nome sempre que recriar o job.

Ainda, quando executar esse step fora do módulo de inteligência é possível ter os mesmos resultados, porém deve ser utilizado um arquivo de configuração .json, conforme o exemplo abaixo:

{
  "instance_url": "https://app-intelligence-CLIENTE.dadosfera.ai",
  "target_pipeline_uuid": "pipeline_uuid_a",
  "target_job_name": "nome_do_job_01"
}

Este exemplo aciona o job com o nome "nome_do_job_01" na pipeline com o ID "pipeline_uuid_a".