티스토리 뷰

데이터 플랫폼 분야는 끊임없이 변화하고 있다. 이 글에서는 직접 경험한 다양한 데이터 플랫폼 프로젝트를 통해 모던 데이터 스택의 구성 요소들과 그 적용 사례들을 회고해보려 한다. 각 프로젝트에서의 도전과 해결, 사용된 기술들이 어떻게 모던 데이터 스택의 철학과 부합하는지 살펴보자. (초기 플젝은 기억에 의존하고 있기때문에 부정확한 정보가 있을 수 있습니다..)

프로젝트 1: AWS Glue를 중심으로 한 데이터 파이프라인 구축

기술 스택 및 목표

  • 기술 스택: AWS Glue(PySpark), S3, Airflow
  • 목표: RDB의 데이터를 S3로 적재하고 AWS Glue 카탈로그를 사용하여 데이터 관리

모던 데이터 스택 적합성

AWS GLUE

Source 데이터와의 연결이 쉬웠고 데이터를 Glue Catalog에서 중앙화하여 관리할 수 있어서 좋은 툴 이라고 생각했다.

SAP는 연결이 안되어 고생했지만 결국은 다른 분이 해내어서 성공적으로 수집적재를 마무리할 수 있었다.

Spark를 사용하되 코딩 없이 Drag&Drop으로도 가능했다. 필요한 경우 커스터마이징이 가능했다.

 

Airflow

Airflow로 Glue 의 Job을 호출하는 방식으로 스케줄링을 했고 스케줄링 관리를 한 곳에서 할 수 있기에 적절한 선택이었다고 생각한다.

 

여담

작성하다보니 Glue가 꽤나 초보자 친화적이었어서 첫 플젝으로 상당히 적절했던 플젝이었네..

 

평가

다만 비용이 많이 나와서 후반부엔 비용을 엄청 신경썼던 걸로 기억한다. Glue가 서버리스라지만 비싸다..

Glue Catalog가 묘하게 부실했다. 대표적으론 Commnet 정보를 못불러와서 따로 개발해서 넣어줬던걸로 기억한다.

이러한 파이프라인 자체는 적절했지만 Glue는 단순히 데이터 스키마만 보여주기 때문에 거버넌스를 관리하기에는 부족했고 사실 플젝의 논의 대상이 아니기도 했다. 

그럼에도 이 프로젝트는 서버리스로 구성한 데이터 파이프라인, 소스타킷 데이터의 관리, S3의 사용 등에서 클라우드 기반 데이터 처리의 장점을 잘 보여준다고 생각한다.

 

프로젝트 2 & 3: Cloud HDFS로의 데이터 이전 및 실시간 데이터 처리

개요 및 기술 스택

  • 기술 스택: HDFS, S3, Sqoop, Oozie, DynamoDB, Kafka
  • 목표: 기존 데이터의 S3 이전 및 신규 데이터 적재, 실시간 데이터 분석을 위한 API 개발

모던 데이터 스택 적합성

Apache Sqoop

Sqoop은 RDB에서 데이터를 이관하기 너무 괜찮은 툴이다. Tez와 YARN 이라 에러를 찾으려면 여러 노드를 찾아 해매야했지만 덕분에 YARN과 친해질 수도 있었다. 다만 이제는 Apach Attic으로 분류되어서 추가적인 지원이 불가하다. Source가 RDB가 아니라 다양할 경우에는 제 약할을 다하지 못할 가능성이 있다. 이 회사들은 해당 파이프라인을 조만간 수정해야하지 않을까 싶다.

 

그 외

Web log가 DynamoDB에 떨어지면 Kafka Producer에게 전달하는 개발도 진행했다. 기존 코드는 시간 처리도 미흡했고 에러 발생률이 높아서 개선하기 위함이었다. Kafka쪽에서도 에러가 많이 발생하였지만 플젝 범위를 벗어나기 때문에 데이터가 잘 전달되게만 하고 나와서 아쉬움이 있었다.

 

여담

두개의 프로젝트는 비슷해서 묶어버렸다. 두 플젝 모두 온프렘 기반의 HDFS에서 클라우드 기반의 HDFS로 전환하는 프로젝트였다.

Distcp로 데이터를 옮기고, Hive Table화 시키고, 데이터 파이프라인도 변경된 HDFS에 맞게 바꾸었다. 

이 과정에서 기존에는 누락되고 있던 데이터(리뷰데이터 내에 table delimeter가 포함되어 이상하게 적재되고 있던 포인트 등)를 발견하여 수정하거나 공통코드를 개선하는 등 전반적인 데이터 파이프라인을 손보는 프로젝트였다.

 

평가

두 플젝 모두 보다 현대적인 데이터 스택으로 변화하기 위해 Publice Cloud로 옮겨가고자 했다. 여전히 Sqoop과 Oozie를 쓴다는 점에선 꽤나 레거시 스럽지만 그래도 이젠 구축해두었으니 다른 기술을 도입하여 더욱 성장하는 회사가 될 기반이 생성되었을 것이다.

 

공교롭게도 두 회사 모두 현업이 기 구축된 파이프라인에 대해서 잘 모르고있었다.. 데이터가 잘못 들어가고있는지도 몰랐으니 말 다했지.. 이러한 회사는 데이터 표준화 작업 등 데이터 거버넌스 구축에 큰 힘을 쏟아야 될거라 생각한다.

 

그리고 고질적인 문제.. 바로바로 클라우드에 개인정보 올리기! 결국은 보안팀이 협의해주지 않아서 개인정보는 싹다 NULL 값으로 올렸다. 

 

프로젝트 4: MLOps 컨설팅 및 데이터 마트 구축

개요

  • 목표: 데이터 마트 구축, 모델 실험 및 배포 프로세스 매뉴얼화

모던 데이터 스택 적합성

할 말이 많은 플젝이지만.. 결론적으론 사내에서 MLOps에 대해서 교육하고 현재 구축되어있는 분석 플랫폼을 더 효율적으로 사용할 수 있도록 돕는 플젝이었다. 분석 결과를 계정계에서 가져갈 수 있도록 API도 배포하였다.

 

평가

MLOps는 결국 방법론이라 이런걸 잘 발전시키고자 하는 사내 분위기가 중요하다고 생각하는데 짧은 교육으로는 힘든 여정이었다. 그래도 잘 활용되지 않던 분석 플랫폼을 잘 사용하게 해준 점에서 아주 뿌듯하다. 내가 들어갔을 땐 GPU를 아무도 안쓰는지 GPU를 잡도록 설정해도 잡히지않는데 아무도 몰랐었다. 약 6개월간은 그랬을거같던데.. 그런거 다 수정해주고 GPU 사용을 잘 할 수 있게 도와주고 코드로 Hive/Impala 사용하는 법도 가르쳐주고.. 내가 누굴 가르친다는게 의아했지만 처음엔 좀 해매고 나중엔 꽤나 성공적으로 완료시켰다. 모델 배치 거는 방법, 실험 하는 방법, 만들어둔 모델 쉽게 배포하는 방법.. 잘 가르쳐주고 나왔는데 잘 쓰고 있으면 좋겠다 ^-ㅠ

 

2년 전쯤에 이미 온프렘 Hadoop 시스템을 구축해둔 회사였다. 빅데이터계가 잘 사용되고 있진 않았지만 Hadoop Ecosystem(Hive, Impala, YARN, Hue, Ranger, 분석플랫폼 등등) 자체는 잘 구축되어있었다. 그러니까.. 표준적인 데이터 스택이다.

여기선 사내 분위기가 중요하다는걸 다시 한번 깨달을 수 있는 기회였다. 데이터 플랫폼은 죄가 없다....

 

프로젝트 5: 분석 플랫폼 구축 및 트러블슈팅

개요 및 기술 스택

  • 기술 스택: GPU, Kubernetes
  • 목표: 분석 모델 이관, 사용자 교육을 통한 분석 플랫폼의 효율적 사용

보안

AD서버와 Ranger를 연동하고 보안 관리를 팀별로 그룹화하여 관리하도록 체계를 수립했다. 데이터 포탈을 기존 보안 그룹 레거시가 없었기에 조금은 편안하게 정할 수 있었다.

 

NiFi

실시간 데이터 수집을 NiFi로 진행하였다. 처음에 Impala로 짜놔서 OOM 폭탄을 맞고 난 뒤 Hive로 싹 바꾼걸로 안다. 내 파트가 아니었어서 자세히는 모르지만 성능이 안나와서 고생하는걸 뒤에서 보곤했다. 

다만 NiFi 자체는 한두번 써보았는데 오, 사용법도 간단하고 좋아보였다. 데이터 수집 프로세스를 한 곳에서 관리할 수 있는 점도 좋아보였다.

 

데이터 포탈

포탈 자체에서 파이프라인 수정도 할 수 있고, 신규 테이블을 생성하려면 포탈을 통해야하는 등 거버넌스 관리에도 힘쓴 걸로 안다. 보안 그룹 관리도 다 연동해놓았으니 추후에 관리가 편할 것이다.

 

여담

데이터 포탈을 구축하는 큰 프로젝트 였지만 여기선 분석 플랫폼을 신규 구축하는데에 더 힘을썼다. 아쉽게도 실시간 데이터 파이프라인은 다른 파트의 담당이었다 ㅜㅜ..

여기서도 데이터 플랫폼의 GPU사용을 돕거나 현업의 문의를 처리하는 역할을 주로 했다. 

 

평가

이 회사는 전체적으로는 데이터 포탈을 구축하여 신규 테이블 등은 무조건 포탈을 통하게 하고, 보안그룹에 따라 철저하게 접근권한을 제한하였다. 새로 구축한 파이프라인을 수정하는 곳도 포탈 내에 개발하여 현업이 사용하기 쉽도록 하였다.

데이터 포탈의 운영만 잘 이루어진다면 이 회사는 앞으로 데이터로 많은 일을 해낼 수 있을 것이라 예상된다.

이 플젝에서는 전반적인 업무를 담당하지 못해 속상할 정도였다.

 

프로젝트 6: 데이터 파이프라인 전면 재구성

개요 및 기술 스택

  • 기술 스택: Databricks, Dremio, DBT, Airflow, S3
  • 목표: 분석 모델 이관, 사용자 교육을 통한 분석 플랫폼의 효율적 사용

여담

플젝 6은 진행중이라 어디다가 작성한 적이 없다.

대외비는 아니지만.. 특이한 아키텍처라 바로 알 수 있으므로 고로 간단히 메모 형식으로 적으려 한다. 

Hadoop을 걷어내고 새로운 데이터 파이프라인을 구축하는 프로젝트를 진행하고 있다.

그 과정에서 Databricks, Dermio, DBT 등을 사용하고 있다.

 

DBT를 처음 사용해봤는데 너무 좋고 왜 여기저기에 꼬옥 껴있는지 알겠다. 특히 TEST도 자동으로 해준다는 점에서 데이터 품질을 관리하기 좋아보인다고 느꼈다.

 

마치며

이렇게 다양한 프로젝트를 통해 데이터 스택의 여러 측면을 경험하고 적용해볼 수 있었다. 각 프로젝트는 고유의 도전을 가지고 있었고 이를 해결함으로써 데이터 플랫폼의 발전과 효율성 증대에 기여할 수 있었다. 모던 데이터 스택은 데이터를 처리, 관리, 분석하는 현대적 방법론을 제시하는데 내 경험은 이러한 스택이 실제 업무에 어떻게 적용될 수 있는지를 보여주는 사례들 이라고 생각한다. 데이터 플랫폼 분야의 지속적인 발전과 함께 이 분야에서 계속해서 배우고 성장해나가자!

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함