개발자 채용공고 데이터 추출 파이프라인 구축 및 응용 프로젝트 (https://job-trend.streamlit.app/)
🤔 데이터 엔지니어 직무는 어떤 기술스택이 필요할까?
🧐 Python을 다룰 줄 알면 어떤 직무에서 일할 수 있을까?
Job Trend 프로젝트는 이러한 궁금증에서 시작하게 되었습니다.
각 채용공고 사이트 정보를 통해 개발자 직무별/기술스택별 유의미한 정보를 추출하여
성장을 꿈꾸는 개발자들에게 도움이 되고자 합니다 🚀
./initialize.sh
./run.sh
Selenium
을 이용하여 동적 크롤링을 진행합니다.Google BigQuery
를 이용합니다.
flowchart LR
jumpit --> job_jumpit
wanted --> job_wanted
jobplanet --> job_jobplanet
job_jumpit --> job
job_wanted --> job
job_jobplanet --> job
job --> content_jumpit
job --> content_wanted
job --> content_jobplanet
jumpit --> content_jumpit wanted --> content_wanted jobplanet --> content_jobplanet content_jumpit --> content content_wanted --> content content_jobplanet --> content
jumpit --> company_jumpit wanted --> company_wanted jobplanet --> company_jobplanet company_jumpit --> company company_wanted --> company company_jobplanet --> company company --> content_jumpit company --> content_wanted company --> content_jobplanet
### _Batch Processing_
- `Airflow`를 통해 기반으로 일별 batch processing을 통해 데이터를 업데이트 합니다.
- Airflow DAG 구성 방식
```mermaid
flowchart LR
wanted.get_url_list --> wanted.get_recruit_content_info --> wanted.postprocess
jumpit.get_url_list --> jumpit.get_recruit_content_info --> jumpit.postprocess
jobplanet.get_url_list --> jobplanet.get_recruit_content_info --> jobplanet.postprocess
wanted.postprocess --> upload_to_bigquery
jumpit.postprocess --> upload_to_bigquery
jobplanet.postprocess --> upload_to_bigquery
upload_to_bigquery --> run_dbt
Terraform
및 Ansible
을 이용하여 k8s 기반의 환경에서 Airflow를 구동시킵니다.Streamlit
을 기반으로 직무별 채용공고 및 상위 기술스택, 기술스택별 상위 직무를 시각화합니다.