- Esse projeto tem como objetivo criar um pipeline de dados em regime de batch utilizando as principais ferramentas do mercado.
- Esses dados devem ser disponibilizados diretamente para ferramentas analíticas, e deve conter tolerância a erros.
- Os dados aqui utilizados podem ser acessados por aqui.
- Os dados estão separados nas seguinte colunas:
- Business Name -> Nome da empresa contra qual foi feita a reclamação -> Tipo: Texto
- Industry -> Categoria da empresa -> Tipo: Texto
- Complaint Type -> Tipo de reclamação -> Tipo: Texto
- Mediation Start Date -> Inicio da mediação -> Tipo: Date & Time
- Mediation Close Date -> Final da mediação -> Tipo: Date & Time
- Complaint Result -> Resultado da mediação -> Tipo: Texto
- Satisfaction -> Se a mediação foi satisfatória para as partes -> Tipo: Texto
- Restitution -> Total de restituição dada através da mediação -> Tipo: Texto
- Business Building -> Número do prédio do endereço da empresa -> Tipo: Texto
- Business Street -> Nome da rua do endereço da empresa -> Tipo: Texto
- Building Address Unit -> Numero da unidade do endereço (apartamento, suite etc) -> Tipo: Texto
- Business City -> A cidade onde está localizada a empresa -> Tipo: Texto
- Business State -> O estado onde está localizada a empresa -> Tipo: Texto
- Business Zip -> O CEP de onde a empresa está localizada -> Tipo: Texto
- Complainant Zip -> O CEP de onde o indivíduo está localizado -> Tipo: Texto
- Longitude -> -> Tipo: Texto
- Latitude -> -> Tipo: Texto
- Primeiro, crie o projeto que vai ser implementado o pipeline.
- Após isso, crie um novo bucket de armazenamento utilizando o cloud storage, para mais informações clique aqui.
- Agora é só enviar o arquivo para o bucket, para isso, clique no bucket recem criado e aperte para fazer upload da imagem.
- Envie o arquivo e pronto.
- Clique aqui caso queira entender como habilitar e criar uma instancia VM no GCP.
- Com a instância VM criada, podemos nos conectar via SSH pelo navegador, e lá vamos fazer as instalações.
- Vamos primeiro dar um apt-get update para atualizar o repositório.
sudo apt-get update
- Agora vou instalar o airflow, o padrão idela é cosntruir toda aplicação fora do super usuário, mas para facilitar, vou escrever ela toda no super usuário mesmo.
- Existe algumas configurações interessantes para o airflow, como usar outros bancos de dados para a sua metastore, mas eu vou deixar com o banco de dados normal do airflow.
- Vamos criar uma pasta no diretório central chamada airflow.
mkdir airflow
- Agora vamos criar uma variavel global que aponte para essa pasta.
export AIRFLOW_HOME=~/airflow
- Crie um ambiente virtual na pasta airflow e entre nele.
- Agora instalamos a biblioteca
pip install "apache-airflow[celery]==2.8.0" --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.8.0/constraints-3.8.txt"
- Podemos executar o airflow usando o comando:
airflow standalone
- Esse comando é apenas para ambientes de teste, não sendo considerado para produção.
- Caso não consiga acessar o nifi, libere todas as portas usando o google cloud shell
gcloud compute --project="xxxxx" firewall-rules create "xxxxx" --direction=INGRESS --priority=1000 --network=default --action=ALLOW --rules=all --source-ranges=0.0.0.0/0