[TIL] 빅데이터의 충격

Hanna Kim·2020년 10월 12일
2

읽을거리

목록 보기
2/2

오늘은 서울시 빅데이터 캠퍼스를 방문했다. (종속변수 데이터 사냥)
이미 독립변수로 사용할 데이터는 다 정리해서 깔끔하게 만들어놨었고 이 정도면 가서 시각화에 집중할 수 있겠다고 생각했다.

SQL도, 파이썬도 모두 지원되는 환경이니 잘 활용할 자신이 있었다.

그런데 실상은...

분석 환경 세팅에 많은 노력과 준비가 필요했다.

하루 방문으로 끝낼 착각을 했던 내가 부끄러웠다. 분석지원팀에 계신 분이 미리 와서 분석 환경을 살펴보고, 어떻게 사용할지 생각해보고 계획해서 왔더라면 더 좋았을 것이라는 말씀을 하셨다. 정말 공감했고 반성했다.

로데이터의 크기가 10GB였고... 단순한 SQL 쿼리가 40분 동안 돌아갔다.

SQL 코드 계속 돌려가며 확인하는 버릇이 든 나에게는 최악이었다. 다른 건 괜찮지만 모든 행을 다 봐야 하는 GROUP BY가 들어간 쿼리는 정말.. LIMIT 10으로 해결할 수 없는 문제이다.

만약 40분 동안 돌아간 코드에 작은 오타가 있었다면.. 컬럼 하나를 빼고 SELECT했다면...? 등골이 서늘하다.

결국 쿼리 시간을 단축하기 위한 많은 고민이 필요하겠다고 느꼈다. 해보고 안되면 말지가 아닌 것이다. 퍼포먼스 튜닝은 재밌어서 하는 게 아니고 필요해서 하는 것이라고 느꼈다.

주피터 노트북을 여러 개 켜두고 병렬적으로 코딩을 하다가 주피터 노트북 전체가 모두 멈춰버렸다.

노트북에서 진행하는 수준의 크기가 아니고 정말 빅빅빅 데이터이기 때문에, csv 파일 하나만 불러와도 몇 분을 기다리는 경우가 허다했다. 나는 지금 온갖 데이터 불러다가 append하고 merge도 하고, 집계도 해야 하고 할 일이 많은데 말이다.

그게 답답해서 여러 페이지를 켜서 진행하고 있었는데, 그건 주피터 노트북이 과부화 돼서 멈추는 지름길.. 오늘 컴퓨터 네 대에서 네 명이 데이터 처리를 했는데 한 번도 모든 컴퓨터를 써본 적이 없다. 마음을 편하게, 하나의 주피터 노트북만 열어야 한다.

모든 파일을 한 주피터 노트북에 불러오는 것도 위험하니까, (가져오다가 언젠가는 멈춘다) 결국 어느정도 데이터를 미리 SQL로 가공해서 여는 게 좋을 것 같다. 오늘 그렇게 접근해서 그나마 목표 달성에 가까워졌다.

컴퓨터는 문제가 없다.. 내가 부족할 뿐...

이렇게 오늘의 사냥기는 끝이 났다. 내일도 가야한다. 오늘의 교훈으로 내일 더 좋은 결과물을 만들 수 있을 것 같다.

+빅데이터캠퍼스 관계자분들 모두 친절하시고 잘 도와주시니 문제가 있다면 잘 말씀 드려보도록 하자.

profile
쌓으며 배우는 중

0개의 댓글