Para a automatização do algorítmo Golden Batch utilizamos as bases de dados salvos em parquet no Amazon S3 Storage. As bases utilizadas foram as tabelas de produção e de laboratório.
Dados de Produção:
Dados mensurados nas linhas de produção sobre os parametros utilizados em diferentes etapas, maquinas e processos para a produção de MDF.
Path: Caminho_para_dados_de_produção
Dados de Laboratório:
Medição feita em laboratório sobre características que descrevem a qualidade do MDF como densidade, tração média e tração perpendicular média.
Path: Caminho_para_dados_de_laboratório
Camadas de Carregamento
O carregamento e tratamento dos dados é feito em camadas estruturadas, onde as tabelas são registradas em cada camada e o código de tratamento acessa apenas as tabelas desta mesma camada, criando blocos fechados de forma que os códigos podem ser desenvolvidos de forma indepedente.
Camada Bronze:
Onde ocorre o carregamento de dados de outras origens e salvo dentro do hive_metastorage
sem a realização de tratamentos mais complexos.
Camada Silver:
Ocorre o tratamento das bases, ajustando os nomes de colunas e verificando a presença de nulos, os tipos registrados nas tabelas (string, inteiro, decimal e etc) e os valores presentes em cada uma das variáveis, além das mudanças de formato e junção de tabelas entre outros possiveis tratamentos.
Camada Gold:
O Algoritimo processa os dados da Camada Silver como Input e os resultados são registrado nesta camada. Essa camada é onde está o Output final gerado pelo modelo, sendo a camada de maior valor.
Camada Bronze
Para ambos os dados de produção e laboratório utilizamos funções padrões que dependem do pacote unidecode
path_exists(path):
Verifica se o caminho que foi passado existe
Input: caminho a ser verificado
Output: True/False a depender da existência
executa(path_origin, path_destination):
Importa dados do S3 Storage, corrrige nome das colunas removendo caracteres especiais e salva a tabela na camada bronze
Input: caminho de origem dos dados e destino
Dados de Produção
O notebook utilizado para este processamento se encontra no seguinte caminho dentro do repositório:
Path: jobs/dev/03__layers/01__bronze/processo/2023-02-03__bronze__variaveis_de_producao
Após a execução os dados são enviados para a Camada Bronze no hive_metastorage
dentro do DataBricks. A tabela é salva no banco de dados golden_batch__bronze
com o nome golden_batch__bronze.database__production_line
.
Dados de Laboratório
O notebook utilizado para este processamento se encontra no seguinte caminho dentro do repositório:
Path: jobs/dev/03__layers/01__bronze/laboratorio/2023-03-20__bronze__variaveis_de_laboratorio
Após a execução os dados são enviados para a Camada Bronze no hive_metastorage
dentro do DataBricks. A tabela é salva no banco de dados golden_batch__bronze
com o nome golden_batch__bronze.database__laboratory_variables
.
Camada Silver
Dados de Produção
O notebook utilizado para este processamento se encontra no seguinte caminho dentro do repositório:
Path: jobs/dev/03__layers/02__silver/processo/2023_03_09__silver__production_line
É necessário a instalação do pacote slugify para a padronização dos caracteres em letras minúsculas para os nomes das colunas e utilização de underline como separador.
Foram importadas as bibliotecas necessárias
A tabela foi salva como Pandas Dataframe e os nomes das colunas foram padronizados
Foram identificados os valores únicos das colunas do tipo string e removido as colunas que não continham informações relevantes
O formato da tabela foi alterado do formato wide para o formato long e foram excluídos os valores nulos.
E os dados foram transformado no objeto Spark Dataframe e registrados na Camada Silver . A tabela é salva no banco de dados golden_batch__silver
com o nome golden_batch__silver.database__production_line
.
Dados de Laboratóro
O notebook utilizado para este processamento se encontra no seguinte caminho dentro do repositório:
Path: jobs/dev/03__layers/02__silver/laboratorio/2023_03_21__silver__laboratory_variables
É necessário a instalação do pacote slugify para a padronização dos caracteres em letras minúsculas para os nomes das colunas e utilização de underline como separador.
Foram importadas as bibliotecas necessárias
A tabela foi salva como Pandas Dataframe e os nomes das colunas foram padronizados
Foram selecionadas as colunas que serão utilizadas na camada silver
O formato da tabela foi transformado do formato wide para o formato long e foram excluidos os valores nulos
E os dados foram transformado no objeto Spark Dataframe e registrados na Camada Silver . A tabela é salva no banco de dados golden_batch__silver
com o nome golden_batch__silver.database__laboratory_variables
.
0 Comments