Skip to content
@SilverWork

SilverWork

공공데이터 API를 이용한 노인 일자리 분석

프로젝트 기간


1. Project Outline

노인일자리 사업은 65세 이상 노인들에게 경제적 자립과 사회 참여를 목적으로 정부에서 시행하고 있는 복지사업입니다. 최근 3개년 동안의 노인일자리 공고와 사업정보를 수집하여 노인일자리 채용 현황과 고용 지속성을 조사합니다.


노인일자리 사업은 경제적 자립과 사회 참여를 촉진하는데 중요한 역할을 합니다. 그러나 사업의 실제 현황과 채용 동향에 대한 정확한 정보 부족으로 인해 정책의 효과성을 평가하기 어렵습니다. 이 프로젝트는 노인일자리의 공고와 사업 정보를 분석하여 노인일자리 구인 동향을 파악하고, 정부의 노인 복지 정책의 효과성을 평가할 수 있도록 대시보드를 구성하였습니다. 또한, 노인 일자리 관련 데이터를 수집하고 적재하여 대시보드에 보여지기까지의 과정을 자동화 하였습니다.


기대효과

  • 노인일자리에 대한 상세한 이해를 도모할 수 있습니다.
  • 노인일자리 정책의 성과와 한계를 파악하고 개선할 수 있는 방안을 모색할 수 있습니다.

분석 결과 보고서 및 프로젝트 PPT


2. Team Members & Roles

이름 역할 Github
남윤아 Airflow를 이용한 ETL 구축 @namuna309
김상희 대시보드 구축 및 고도화 @ksh1357
김혜민 GCP 인프라 구축 @HyeM207
이하윤 GCP 인프라 구축 @ha6oon
이성희 DBT를 이용한 ELT 구축 @gracia10

3. Tech Stack

Field Stack
사용 언어
데이터 적재
ETL & ELT
infra
CI/CD
Dashboard
협업 도구

4. 인프라

4 - 1. 인프라 구조

Untitled

  • Google Kubernetes Engine:
    • Airflow : 클라우드 기반 Kubernetes 서비스인 GKE 위에 Airflow가 동작함
  • Github : DAG 저장소
  • Google Sheets: 공공데이터 API 데이터가 1차 적재
  • Google Cloud Storage : Google Sheets의 데이터가 Cloud Storage에 2차 적재
  • BigQuery : Raw data와 Analytics, Adhoc 스키마 저장소
  • Preset : Bigquery에서 데이터를 가져와 시각화

4 - 2. GKE 내 Airflow 구축

  • GKE 내 Kubernetes 클러스터 생성 Untitled (5)

  • 공식 Apache Airflow Helm 차트 배포(GKE에 Airflow 배포) Untitled (9)

  • values.yaml 수정 후 재배포

    Untitled (7)


5. Data flow

5 - 1. Airflow(ETL)

그림1

  • 공공데이터 포털, Vworld 등 api를 통해 데이터를 추출 후 전처리 과정을 거쳐 최종적으로 Bigquery 에서 raw dataset 밑에 jobs테이블과 projects 테이블에 적재
  • Airflow를 활용하여 구인 공구 정보는 UTC기준 매일 자정 jobs_crawling DAG 실행, 사업 정보는 동작 시 한번만 projects_crawling DAG 실행

5 - 2. DBT(ELT)

  • DBT 프로세스 그림2

    • DBT를 이용해 DW의 raw 데이터를 검증하고 분석에 적합한 데이터로 가공
    • DBT 이미지를 생성하여 Airflow를 통해 스케줄링
  • DBT 배포 프로세스 구현 그림3

    • Airflow 와 코드베이스를 분리하기 위해 DBT 프로젝트를 별로도 생성
    • devleop , main 브랜치에 PR 이벤트가 발생하면 dev, stage dw에 모든 모델을 생성하고 검증
    • main 브랜치에 push 이벤트가 발생하면 도커이미지를 생성하고 Airflow DAG를 트리거

6. Dashboard

6 - 1. 채용 공고

Untitled (2)

  • Dimension을 적용하여 지역 및 년도 별로 데이터 확인 가능

6 - 2. 고용 지속성

Untitled (3)

  • 사용자의 차트 가시성 확보를 위해 title, label, legend 등 추가
  • 막대 그래프에 Zoom 기능 추가로 원하는 부분 확대 가능

6 - 3. 일자리 공고

Untitled (4)

  • 일부 차트의 유형 변경
  • 우대 사항 차트의 경우, 우대 사항 정보가 개수보다 중요하다고 판단하여 Pie Chart에서 WordCloud로 변경

7. Result

노인 일자리

Popular repositories Loading

  1. silverwork_legacy silverwork_legacy Public

    (1차) 공공데이터 API를 이용한 노인 일자리 분석

    Jupyter Notebook 1

  2. .github .github Public

  3. silverwork-airflow silverwork-airflow Public

    (2차) Airflow 코드

    Python

  4. silverwork-dbt silverwork-dbt Public

    (2차) 공공데이터 API를 이용한 노인 일자리 분석 (고도화) - DBT를 이용한 ELT 파이프라인 모듈

    Python 1

Repositories

Showing 4 of 4 repositories
  • silverwork_legacy Public

    (1차) 공공데이터 API를 이용한 노인 일자리 분석

    SilverWork/silverwork_legacy’s past year of commit activity
    Jupyter Notebook 0 1 0 0 Updated Sep 11, 2023
  • .github Public
    SilverWork/.github’s past year of commit activity
    0 0 0 0 Updated Sep 11, 2023
  • silverwork-dbt Public

    (2차) 공공데이터 API를 이용한 노인 일자리 분석 (고도화) - DBT를 이용한 ELT 파이프라인 모듈

    SilverWork/silverwork-dbt’s past year of commit activity
    Python 0 1 0 0 Updated Sep 11, 2023
  • silverwork-airflow Public

    (2차) Airflow 코드

    SilverWork/silverwork-airflow’s past year of commit activity
    Python 0 0 0 0 Updated Jul 7, 2023

Top languages

Loading…

Most used topics

Loading…