기본기 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

 코딩하고 뭔가 만드는 것을 좋아하기는 했는데, 팀장 한다고 거의 5년동안 실제 오롯이 뭔가를 혼자서 만든 기억이 없다. 모델링 쪽은 할줄은 알으나 실제 바닥부터 뭔가를 만들어본 기억은 없어서 이직할 때 이것이 참 고민이었는데, 막상 이직하고 나서 모델링 할때에는 선임 차장님이 기존에 만들었던 것을 보면서 학습하듯이 처음부터 하나씩 만들어 나갔다. 실제 모델을 만들때 가장 힘들었던 부분은 누구와 상의하기가 어려운 팀분위기였다. 지금은 그나마 팀장님이 바뀌고 나서 괜찮아졌지만, 그때에만 해도 무척이나 권위적이고 학구적인 팀장님 밑에서 대화 하나하나 간섭하는 팀장님 밑에서 서로 대화하면서 일하는 것은 무척이나 어려웠다. 통계학 박사에 카드 회사에서 전문적인 경험을 쌓은 전문가였고, 나는 그분에게 많은 것을 배울 수 있을꺼라고 생각했는데 대화하기도 무척이나 어려웠다. 내가 전문직, 경력직으로 왔고 잘하고 있을꺼라고 생각했는데, 나는 정말 많은 것을 지적받았고 심지어 문법이랑 맞춤법 표기도 지적 받으면서 보고서를 작성했다.

 

 나중에 보고서를 작성하는 방법이 다 다르지만 그래도 읽는 사람을 위해서 좀더 고민하고 최대한 간결하게 정리하는 방법을 배우게 되었다. 사실 나는 외국 회사를 오래 다녔고 한국말로 긴 보고서를 작성한 경험이 최근에 없다. 영어로 보고서나 PPT를 작성하는 일을 주로 했고, 최근에는 PPT 만들면 시간의 낭비라고 해서 특별한 일 없으면 다 워드로 작성하거나 엑셀로 간단하게 작성해서 보고하는 업무를 주로 했거든. 그래서 한국말도 잘 못하고 보고서 양식이나 틀도 잘 못맞추는 사람이 되어버리고 말았다.

반응형

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

우리는 답을 찾을 것입니다. 늘 그렇듯이 말이죠.  (0) 2023.08.11
DP-시즌 2를 봤다.  (0) 2023.08.04
조바심 내지 말자  (0) 2023.06.27
빅데이터분석기사 실기 시험  (0) 2023.06.24
체력은 고갈  (2) 2023.06.14

+ Recent posts