Esse repositório contém as etapas de extração, transformação e carga dos dados do ciclo de vida do processo de order fulfillment na john deere.
O repositório possui a seguinte estrutura de arquivos.
configs
|-- config.json
|-- config.py
monitoring
|-- listener.py
notebooks
|-- etl.py
utils
|-- transformation.py
Diretório contendo o arquivo de configuração usado para customizar o comportamento do ETL.
config.json possui parâmetros utilizados pelas funções de transformação.
{
"comar_order": ["ABC","XYZ"],
"importacao": ["INT","CSA"]
}
Diretório contendo a classe de monitoramento do structured streaming.
A classe MyListener contém exemplo de código que gera um arquivo json para ciclo de micro-batch realizado pela spark structured stream.
MyListener implementa uma interface para uma classe abstrata que interage com o spark query manager.
my_listener = MyListener()
spark.streams.addListener(my_listener)
Diretório contendo as funções de transformação do ETL.
No nosso exemplo:
checkCondition:-> função que válida se o doc_type pertence a uma lista de valores (ordens do tipo comar).
substringCondition:-> função que válida se o doc_type pertence a uma lista de valores (ordens do tipo importanção).
Diretório contendo o notebook com as etapas de extração, transformação e carga do ETL.
O script de ETL está adaptado para ser utilizado com o recurso repos do databricks.
Clique aqui para ter acesso a documentação que possui informações de como clonar um repositório no github a partir do databricks.