# Druid #
ETL: extract、transform、load

> make it work, make it right, make it fast



TODO
--------
- [ ] 部署Spark单机版的Ansible脚本
- [ ] 部署Emr Cluster的方案 


## 项目代码结构

```
project
│   manage.py          # 项目入口  usage: ./manage.py --help
│   requirements.txt   # Py依赖  
│
└───utils
│   │
│   │   db.py
│   │   imports.py
│   │   ....
│
└───provisioning      # Ansible 部署
│   │
│   │   hosts
│   │   ansible.cfg
│   │   playbook.yml
│   │   ....
│   └───roles
│   │   │  ....
│   └───group_vars
│   │   │  all        # Ansible 密钥存放
│
└───cluster           # 集群管理
│   │
│   │   main.py
│   │   settings.py
│
└───tasks
│   │
│   └───sub_tasks           # 子任务
│   │    │
│   │    └───models         # Orm
│   │    │   │   base.py
│   │    │   │   ...
│   │    └───cron           # 定时任务脚本
│   │    │   │   hourly.sh
│   │
│   └───sub_tasks
│   │  ....
```
