오늘 분석 데이터 점검하다가 내가 실수를 했다는 것을 알아냈다. 아, 진짜 가장 단순한 실수였는데, 왜 그런 바보같은 실수를 저질렀는지 바보같다는 말이 나올 수밖에 없을 정도로 짜증이 났다. 2주 정도의 시간을 날린 것은 그렇다 치고, 선임 차장님에게서 조언을 구해서 그나마 어느 정도 수정할 수 있는 방안을 내일까지 만들어 보려고 한다. 아마 내일 하루 종일 일하고 야근까지 하면 어느 정도 대안을 제시할 수 있을 것도 같다. 예전 회사였으면 많은 고민을 했겠지만, 여기서는 빨리 수습하고 정리해야 하니까 암무래도 이렇게 최선을 다해서 사실을 공유하고 사람들에게 조언을 구할 수 밖에 없다.

그래도 주변에 도움을 주는 사람들이 많기 때문에 다행이라고 할까? 그 덕분에 오늘 하루는 무척이나 바쁘고 정신없이 보내야만 했다. 더군다나 태풍까지 몰려와서 야근할 수 없는 상황이어서 바로 집으로 와서 저녁 먹고 기절해 버렸다. 밥을 먹고 바로 자는 것은 무척이나 안좋은 것이라고 하는데, 언젠가부터 먹으면 바로 졸게 되었다. 집에서는 긴장이 풀려서 그런지도 모르겠다. 눈앞에 책이 무척이나 많은데 제대로 된 책으로 공부한지는 좀 되었구나. 시간이 날때마다 책을 읽어야 하는데, 대부분의 시간은 드라마나 영화 또는 넷플릭스를 보는데 쓰고 있다. 아마 그렇게까지 쉬지 않으면 집에 오자마자 책보고 코딩하고 하는 정신적인 부담값을 견디기가 어려울 것 같기는 하네.

그래도 요즘에는 바로 코딩에 덤비는 것보다는 아무래도 다른 방법으로 바닥부터 차근차근 올라가는데 많은 시간을 두려고 노력하고 있다. 가을이 되면 안방에 가구를 좀 들이고 해야겠다는 생각이 드네. 책을 넣을 책장도 공간이 모자라고 해서 가을에 성과급 나오면 그 돈으로 이것 저것 사볼까 생각중이다.

회사일을 걱정하면서 집에 오는 길이 너무나 힘들었는데, 그래도 좀 쉬고 책도 보고 하니까 재충전이 되는구나. 그래서 오늘 야근을 안하고 집에 오기를 잘했다는 생각이 든다. 내일은 야근 조금 하고 바로 도장으로 가야겠다. 미리 좀 챙겨놔야지.

반응형

'내 이야기' 카테고리의 다른 글

사람이 변했다.  (0) 2023.08.27
간만에 내 이야기  (0) 2023.08.13
DP-시즌 2를 봤다.  (0) 2023.08.04
참 배울게 많은 직군  (2) 2023.07.11
조바심 내지 말자  (0) 2023.06.27

기본기 30분, 호면쓰고 30분. 땀이 비오듯 하네. 이번 휴가 기간중 제일 잘한 것. 아 힘들다.

반응형

 학군단으로 해서 2000년도에 육군 장교로 임관했고, 소위 시절은 15사단 섹터 GOP에 중위 시절에는 여단 본부에서 근무했다. 군단 포병인데도 불구하고 최전방 GOP까지 갔을때 동기들이 참 불쌍하다고 했고, 나중에 여단 본부로 전출 나가니 동기들이 줄이 있냐고 묻더라. 전방에 있을 때, 내가 있던 부대는 이른바 민통선에 있었고 전방 가기 직전에 지뢰 사고로 대대장 2명이 나란이 중상을 입는 그런 곳이었다. 세상물정 모르는 당번병이 탈영했다가 나갈 곳이 없어서 부대 공터에 숨어 있다가 잡힐 수 밖에 없는 그런 곳이었다. 전방에는 GP후방에는 민통선 라인이 있고 산개울에는 지뢰가 유실되는 그런 곳이었다. 

 

 나름 포병여단이었고 부대도 늘상 훈련과 작전(포병인데 매복과 수색을 다녀야 했다.) 그리고 각종 일들로 인해서 늘 바빴다. 그런 와중에도 정말이지 부대내 얼차려도 있었고 허구헌날 개기던 병장들, 내가 근무하던 날 술 쳐먹다가 걸려서 나란히 잡혀온 병장님들과 아둥바둥 살던 곳이었다. 부대원들은 어차피 조금 있으면 대대로 갈테니 우리에게 정을 주지 않았고, 나는 중위로 진급하는 날 여단으로 면접을 보러 가야 했다. 물론 그때에도 부대내 구타나 얼차려들은 있었고, 간부들은 어떻게든 그것들을 근절해 보려고 노력했다. 사람들이 착각하는게 간부들이 구타나 괴롭힘을 놔둔다고 생각하는데, 생각보다 간부들은 이런거에 민감하다. 왜냐하면 그러다 사고가 나거나 문제가 터지면 100이면 100 다 지휘관들(견장 단) 책임이었기 때문에 최소한 저런 부조리들을 어떻게든 근절해 보려고 노력한다. 물론 그냥 놔두거나 부추기거나 명령하는 사람들도 있을 수 있겠지만 다들 월급쟁이이고 이게 자기들의 직업이기 때문에 안정적인 생활을 위해서라도 문제가 생길만한 것은 여지를 두지 않으려고 했다. 

 

 시즌2를 보면서 불편했던 사실은 현실에서 저렇게 자기 한 몸 희생해 가면서 어떻게든 부조리를 밝히고 정상으로 만들기 위해서 노력하는 사람이 과연 있을 수 있을까 궁금했다. 군인도 어차피 특수직 공무원이고 한 집안의 가장이고 자기 밥벌이이다. 일반 회사 다니는 사람들도 내부 고발자들을 사내 왕따 시키고 다른데서 채용도 안해주는데 공무원들이 특히나 헌병대 간부들이 저렇게 할 수 있다는 것은 무척이나 어렵다. 차라리 경찰이나 검찰에서 내부 고발하고 나오는 경우는 종종 있지만 그들은 나오면 할꺼라도 있지만, 군인들은 사회에 나오면 정말 바보가 된다. 그래서 사회 나오면 사기 당하는 3등 안에 들어간다고 했을까?

 

 감동스럽고 뭔가 마무리가 된 것 같지만, 서글프고 서글픈게 저렇게라도 드라마에서 정상적인(?) 간부들을 만들려고 했다는 점이다. 현실에서는 잘 없겠지만, 그래도 드라마 상에서라도 저런 사람들이 있어야겠지.

 

 

반응형

'내 이야기' 카테고리의 다른 글

간만에 내 이야기  (0) 2023.08.13
우리는 답을 찾을 것입니다. 늘 그렇듯이 말이죠.  (0) 2023.08.11
참 배울게 많은 직군  (2) 2023.07.11
조바심 내지 말자  (0) 2023.06.27
빅데이터분석기사 실기 시험  (0) 2023.06.24

20년이 지나도록 변한게 없구나.

반응형

매주 토요일 2시부터 4시 30분까지 광운대학교에 가서 유니티 게임 개발하는 강의를 듣고 직접 게임을 만들어보는 것을 하고 있다. 유튜브 교육이나 책을 보고 혼자 공부하는 것과 가장 다른 것은 남들(강사)과 교감하면서 그때그때 놓치는 부분을 질문할 수 있다는 것이다. 40대가 되고 나서 내가 툴에 대해서 익숙해지는데 시간이 많이 걸린다는 것을 알게 되었다. 더군다나 팀장이 되고 나서 실무를 안하다 보니 밥먹듯이 하는 것과 달리 새로운 툴에 적응하는데 시간이 걸렸다. 그렇지만 나중에 새로운 툴이나 프로그래밍 언어를 배워서 다른 사람들에게 가르쳐야 하는 입장이 되니까 무척이나 빨리 배우게 되었고 나중에 회사 그만두고 지금 직장에서 툴에 익숙해지는데 많은 시간이 필요하지 않았다.

어제 게임 코딩도 하고 이제 캐릭터가 뛰고 날고 하는 것을 보면서 시간 날때 제대로 배워보고 싶다는 생각이 들었다. 예전에 선배중에 게임회사 창업하고 이후에 핸드폰용 게임 만들면서 살던 선배가 있었는데 잘 지내는지 모르겠네. 어제는 실제 게임처럼 화면이 움직이고 조만간 핸드폰에 설치할 수 있도록 빌드 할 수 있다는 설명까지 들으니까 와 제대로 배워서 뭔가 움직이는 것을 만들어보고 싶다는 생각이 들었다. 코딩을 배웠지만 주로 SAS/SQL을 사용했고 최근에서야 Imapala/R/Python을 사용하게 되었으니 말이다. 그래서 뭔가 화면에서 움직이는 것을 제어한다는 것이 쉽지는 않았지만 새로워서 더 흥미가 가는 것도 있었다. 회사에서 주로 사용하는 언어나 Oracle/Python/Impala이고 집에서 시간 날때마다 머신러닝이나 딥러닝 공부를 하고 있다. 예전에는 자바스크립트 코드도 배워보기는 했지만 역시나 SQL과 Python을 제대로 파기에도 쉽지 않다는 것을 최근에서야 알게 되었다.

8월부터는 회사에서 지원을 받는 금융연수원 코틀린 교육을 받아야 하고, 이후에도 교육이 하나 더 남아 있기는 하다. 새로운 직장에서 가장 고마운 점은 회사에서 아이 등록금을 지원해준다는 것이고 다른 하나는 다양한 연수를 받을 수 있도록 지원해준다는 것이다. 그리고 5일 연속 교육을 가도 될만큰 회사에서는 교육에 많은 정성을 쏟고 투자를 한다는 것이다. 예전 회사에서는 교육비 하나에도 벌벌 떨었지만, 막상 지역본부 직원들과 인도 개발 직원들은 교육을 많이 가도 아무런 문제가 없었다. 로컬 직원들에게는 투자를 무척이나 안한다는 생각을 해서 회사 옮길 생각도 했고 면접도 보기는 했지만 이런저런 사정으로 항상 이직에는 실패했던 경험이 있다.  

반응형

 저번 교육때 찾아서 본 책인데 이제서야 시간 날때 보게 되었다. 데이터 분석을 위한 SQL 레시피라는 책인데, 안에 내용도 상당히 좋고 내가 예저에 고민했던 로그 데이터 엔지니어링 관련된 부분이기도 하고 말이지. 문제는 이 책이나 무척이나 불친절하고 실습할 수 있는 환경도 없다는 점이었다. 

 

 아, 그래서 무료로 Hive Query 공부를 사용했던 사이트를 추천한다.

 

https://demo.gethue.com/hue/home 

 

Hue - SQL Editor

Let anybody query, write SQL, explore data and share results.

demo.gethue.com

 위의 사이트는 무료이나, 중간중간에 세션이 자주 끊긴다. Visual Code에 코드를 저장하고 여기에서는 실행만 하는 것을 권장합니다. 오라클의 경우 https://livesql.oracle.com/apex/f?p=590:1000 사이트가 있습니다.

 

 책에서는 Postgre SQL을 비롯한 다양한 SQL을 지원하지만, 제가 실무적으로 많이 사용했던 것은 Hive와 Impala이므로 여기서는 기본적으로 Hive를 기준으로 쿼리를 준비하도록 하겠습니다. 참고로 위의 Hue 사이트의 ID와 Password는 화면에 지원되므로 바로 로그인해서 쿼리 작성이 가능합니다. 책에서는 별도의 쿼리를 제공하지 않으므로 제가 아는 범위 내에서 작성해서 공유하도록 하겠습니다.

 

01. 로그 데이터 테이블을 생성합니다.

CREATE TABLE TEMP AS
SELECT
'2016-08-26 12:02:00' AS stamp,
UNION ALL
SELECT
'2016-08-26 12:02:01' AS stamp,
UNION ALL
SELECT
'2016-08-26 12:02:02' AS stamp,
'http://www.other.com/' AS referrer,
;

02. 일단 데이터가 제대로 들어갔는지 봐야겠죠?

SELECT
*
FROM
TEMP
;

단순 화면 쿼리 실행 결과

 데이터가 생각했던데로 들어갔다는 것을 확인이 가능하다.

 

03. 로그 데이터에서 호스트를 분리해 보자. 

SELECT
parse_url(referrer, 'HOST') AS referrer_host -- This doesn't work , as it's not available
--regexp_replace(regexp_substr(referrer, 'httpl?://[^/]*'), 'https?://', '') as referrer_host1
FROM
temp
;

host name이 깔끔하게 분리된 것을 볼 수 있다.

 04. 그러면 이번에는 path와 id를 나눠봅시다.

SELECT
stamp,
url,
parse_url(url, 'PATH') AS path,
parse_url(url, 'QUERY', 'id') AS id
FROM
temp
;

path와 id가 분리되었습니다.

 오라클에서 할때에는 정규표현식 작성하느라 무척이나 고생했는데, 여기서는 간단하게 함수 하나로 끝나기 때문에 무척이나 편리합니다.

 

 이전 회사에서는 데이터 엔지니어링 도움을 받을 수 없었기 때문에 분석을 하거나 모델을 만들기 위해서는 개인이 열심히 쿼리를 공부해서 데이터를 정제하고 이를 기반으로 보고서를 만들거나 분석툴을 이용해서 다른 작업을 해야 했습니다. 그러나 새로운 회사에서는 기본적인 쿼리를 작성하고 데이터 엔지니어링 팀을 지원을 요청하면 상당히 많은 부분 도움을 받을 수 있었습니다. 실제로 업무 이외에 이러한 기술 분석을 하기 위한 환경과 데이터가 충분히 존재한다는 것을 감사하고 있다.

 

 시간 날때마다 쿼리 작성하고 결과 파일 정리해서 올리도록 하겠습니다. Visual Code를 복사해서 붙여넣기 하면 저렇게 예쁘게 나오는 구나. 이런 자료가 다른 사람에게도 도움이 되겠지만, 아마 가장 많은 도움이 되는 것은 내가 아닐까 싶다.

반응형

'Hive, Impala, Spark' 카테고리의 다른 글

Impala table create and insert from csv file  (0) 2023.04.24
경우의 수를 생성하는 Oracle 쿼리  (0) 2022.11.03
Oracle connect by  (0) 2022.06.17
Oracle connect by  (0) 2022.05.25
Impala random sampling  (0) 2022.04.29

+ Recent posts