3P by xguru 2020-02-18 | favorite | 댓글 2개

Here Mobility가 데이터 엔지니어&분석가들을 위한 Database CI/CD를 구축한 방법.
- 기존에 분석팀이 S3 데이터레이크를 PySpark ETL로 RedShift에 보냄. 이를 위한 SQL 스크립트들도 분석팀 소관
- PySpark 코드는 어플리케이션 CI/CD를 따라가므로 문제가 없는데, RedShift용 SQL 코드는 테스팅/버져닝/트래킹이 어려움.
- 버전 콘트롤,코드 Validation 되고 Jenkins 파이프라인에 통합되고 자동으로 RedShift 에 배포되는 RedShift 전용 CI/CD 도구 - redCI 를 개발
- redCI - 파이썬 코드로 Redshift 와 Postgres에 접속해서 PSQL 호환 스크립트 파일을 읽고 실행 가능. Redshift 문법을 PSQL로 변환. 이를 통해 유닛 테스트 실행 가능
- 실제로 구현하면서 생기는 문제 : RedShift 는 Postgres 8 기반이지만, 지원하는 함수가 달라서 문제가 생길수 있는데 이를 변환후 도커로 띄운 Postgres 에서 실행해 보는 것으로 해결.

Here 는 예전 Navteq 이었다가, Nokia 가 인수했다가, 이제는 독일의 아우디/BMW/다임러 AG 컨소시움이 인수한 지도/위치정보 서비스 회사 입니다.

redCI 자체를 오픈소스로 열어주면 좋을거 같은데, 아직 거기까지는 안되었나 보군요.