-
Data Catalogue Platform 구축기: 0.구축 계획 수립 (기존 구축 process에서 수정 및 추가)Project/D.D.P (Datahub) 2023. 4. 5. 19:44728x90반응형
처음 구축했던 process에서 초록색 부분을 수정 및 추가해서 구축하기로 계획을 세웠다.
전체 계획
1. Terraform으로 네트워크 및 EKS 클러스터 구축
2. Terraform으로 ArgoCD 설치 및 배포
3. ALB 연결해서 ArgoCD 노출시키기
4. ArgoCD로 Datahub 설치 및 배포
5. ALB 연결해서 Datahub 노출시키기
6. MySQL DB 배포 (Datahub metadata DB)
7. EKS 클러스터에 Datadog 연결하여 모니터링 시스템 구축
8. Glue, S3 소스 주입
9. Metadata 자동 업데이트 기능 구축:
1) Metadata 배치 주입
2) Glue/ S3에 리소스 삭제시 Datahub DB에 sync맞추는 기능
3) Glue job 생성/ 수정시 Datahub task문서에 Job script 추가하는 기능
4) Glue job 생성/ 수정 시 Lineage 생성/ 추가하는 기능
9-2:
처음 구축할 때만 해도, metadata ingestion시 리소스의 생성/ 수정사항은 반영하는데 삭제된 것은 반영되지 않았다 (예를 들어 Glue catalogue table이 새로 생성되거나 기존 테이블이 수정된 사항은 Datahub DB에 반영이 되는데, 테이블이 삭제된 것은 반영되지 않아 Datahub에서는 계속 조회가 되었다). 그래서 api를 사용해 삭제하는 코드를 별도로 구축했고, 다른 회사에서도 이렇게 sync를 맞추고 있는 것으로 들었는데 최근에 삭제하는 기능이 새로 생겼다는 풍문을 들어 구축하면서 적용해보려고 한다.
9-3:
DA분들은 AWS 접근 권한이 없는데, 가끔 마트 테이블 생성 로직을 보셔야 할 때가 있어 테이블을 생성하는 배치 코드를 문서에 추가하면 좋을 것이라 생각해서 만든 기능이다. 굳이 AWS에 접속하지 않고 한 화면에서 해당 테이블에 대한 정보를 모두 볼 수 있으니 Datahub 구축 취지와도 맞으며, 리니지와 함께 볼 수 있으므로 더 편리하겠다고 판단했다.
9-4:
Glue job script를 GUI에서 visual로 작성하지 않고 직접 작성하면 리니지를 그려주지 않는다. Visual로 작성하고 Generate classic script를 하면 주석으로 해당 데이터에 대한 정보가 입력되는데, Datahub에서 그 정보를 활용해서 리니지를 생성하기 때문이다. 그런데 manual로 script를 작성하되 그 주석을 양식에 맞게 직접 적어 넣어 봤는데도 리니지 생성은 안 되어 그냥 Glue script 배포시 Datahub API를 사용해 리니지를 그리는 코드를 Glue CICD 코드에 추가했다.
추가한 일이 몇 개 없어서 했던 작업 그대로 하면 되니 금방 끝날 줄 알았는데 NLB에서 ALB로 바꿔서 배포하는 일이 생각보다 엄청난 일이었다... 이래서 작업할 때 금방 돼요는 쉽게 내뱉으면 안된다는 것을..
728x90반응형'Project > D.D.P (Datahub)' 카테고리의 다른 글