Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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'dbfs:/mnt/dexco-dev-da-databricks-storage-in-pae/Golden Batch Produção - Agudos FA2/'

  • 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'dbfs:/mnt/dexco-dev-da-databricks-storage-in-pae/Golden Batch Laboratório - Agudos FA2/'

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.

...

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 demaior valor.

Camada Bronze

Dados de Produção

É necessário a instalação do pacote unidecode para remoção de caracteres especiais para os nomes das colunas.

...

Verificamos a existencia da pasta para carregamento de dados de origem no Amazon S3 Storage por meio da função path_exists

Image Removed

...

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

...

  • executa(path_origin, path_destination):

    • Importa dados do S3 Storage, corrrige nome das colunas removendo caracteres especiais e salva a tabela na camada bronze.

    • O Processo ocorre em cargas incrementais, são analisados os parquets mais recentes publicados em S3 comparando com a data do ultimo parquet processado ns camada bronze, além disso ocorre a exclusão de registros salvos na camada bronze posteriores a data minima da carga incremental.

...

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__bronzecom o nome golden_batch__bronze.database__production_line.

...

Executa funções em conjunto as funções citadas:

...

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__bronzecom 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

...

Para facilitar a carga de dados são gerados intervalos de tempo para que os dados sejam processados em lotes, salvando na base de dados e posteriormente descartados para a consulta para o próximo intervalo.

A tabela foi salva como Pandas Dataframe e os nomes das colunas foram padronizados

...

As colunas com valores nulos foram indetificadas e aquelas com apenas valores nulos foram removidas

...

Foram ideintificados os valores unicos das colunas do tipo string e removido as colunas que não continham informações relevantes

...

função gera_timestamps cria a partir de uma data maxima e minima uma lista de timestamps dado uma janela de tempo de um dia.

...

As consultas são feitas a partir do SQL na tabela golden_batch__bronze.databse__production_line com as datas coletadas pela lista de timestamp

...

Outras funções tambem são utilizadas para a carga dos dados, bem como a função de mudar nome das colunas

...

É necessário excluir as colunas que não representam parametros de produção mensuráveis

...

Mudamos a tabela do formato wide para o formato long afim de facilitar a carga de novas variáveis, tambem excluimos os valores nulos

...

Criamos uma função que faz todos os processamentos para um mesmo lote

...

Salvamos o processamento em lote no modo append para acrescentar esses novos dados a carga histórica

...

Rodamos todo o processo e salvamos o lote por meio das funções que foram criadas, usando datas máximas e mínimas da tabela golden_batch__bronze.database__production_line.

...

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 selecionadas e padronizadas

...

O formato da tabela foi mudado 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__productionlaboratory_linevariables.

...