데이터 엔지니어의 2018년 회고
데이터 엔지니어의 2018년 회고
2018.12.23데이터 엔지니어의 2018년 회고2017년 12월 31일에 신입 엔지니어 회고를 작성한 것이 엊그제 같은데 벌써 또 1년이라는 시간이 지났습니다. 지난 회고 때 나름대로 2018년 계획을 세웠는데, 작성하고 보니 목표를 잘 지킨 부분도 있고 또 그렇지 못한 부분도 있는 게 눈에 보이네요. 올 한해 작성해두었던 문서의 날짜를 더듬으면서 회고, 반성 및 내년 계획을 또 세워보려고 합니다. 역시 계획은 우선 세워야 제맛이니까요 ^^ㅎ 작년에는 월별로 기억을 더듬었었는데 올해는 분기별로 어떤 일을 했고, 반성해야 할지 작성하려고 합니다.회고2018년 To-do list Information retrieval 도메인 지식 공부 기초 수학 다시 공부 Scala, Spark 기술 Stack크게 3개의 계획을 세웠는데..
한국어 형태소 분석기 성능 비교
한국어 형태소 분석기 성능 비교
2018.12.10형태소 분석기 비교 자연언어처리 모델 설계 전 데이터 전처리는 매우 중요합니다. 특히, 한국어 자연언어처리에서는 문장 분해의 여러 가지 최소 단위를 가질 수 있습니다. 한국어에서 최소 단위는 자소, 음절, 형태소 등이 될 수 있고 자소나 음절 분해보다 형태소 분해는 문장에서의 위치나 문맥에 따라 달라지므로 쉽지 않은 문제가 있는데요. 예를 들어 '하늘을 나는 자동차'와 '나는 밥을 먹는다'에서 '나는'은 문맥에 따라 주어 '나'를 의미할 수도 있고 '날다'를 의미할 수도 있습니다. 최근 카카오에서 딥러닝 기반의 형태소 분석기 khaiii를 발표했습니다. 기존에도 여러 형태소 분석기(한나눔, KOMORAN 등)들이 존재했지만, 딥러닝 기반의 형태소 분석기는 제가 아는 한 처음이었기 때문에 관심이 생겨 여러..
[Troubleshooting] Spark2 UDF NPE Cases
[Troubleshooting] Spark2 UDF NPE Cases
2018.11.25spark-udf-oom Spark 2 UDF에서의 NullPointerException Cases Hive QL보다 Spark가 가지는 장점 중 하나는 자유도 높게 원하는 동작을 구현할 수 있다는 점이다. 그것이 가능한 하나의 이유는 UDF (User Defined Function)일 것이고, 일반적인 개발자라면 쉽게 작은 함수 블록을 선언 및 구현 후 Spark DataFrame에 적용할 수 있다. 다만, 이런 UDF의 경우 디버깅이 쉽지 않고 에러 메시지를 만나면 워낙 많은 케이스가 존재해서 내가 겪었던 몇 가지 사례를 정리해서 올려본다. UDF가 참조하는 Column이 null 값을 가지고 있는 경우 가장 빨리 의심해봐야 하는 부분이다. 입력으로 들어가는 값이 null이라면 연산 과정에서 OOM이..
글또를 시작하면서
글또를 시작하면서
2018.11.11글또 글또를 시작하며 작성하고 싶은 글 이것저것 하고 있었던 일이 많았고, 하고 싶은 일도 많으므로 데이터 엔지니어링 관련 글만 쓰진 않으려고 한다. 특히 데이터 엔지니어링과 데이터 분석 관련 글은 칼로 무 베듯 나누기도 쉽지 않다고 생각한다. 글을 작성하면서 대략적인 목차를 보니, 속된 말로 잘 팔릴만한 콘텐츠가 부족해 보여서 조금 걱정은 된다. 그래도 우선은 최대한 내가 쓰고 싶은 글과 읽는 사람의 관심사의 균형을 잘 맞춘 글들을 써보려고 한다. 데이터 엔지니어링 과정 중 데이터 전처리 때 여러 가지 수학 및 통계학을 사용할 수 있다 데이터 분석 과정에서도 파이프라인과 같은 데이터 엔지니어링의 기법을 빌릴 수 있다 Spark & Hive 배치 용도로는 Spark를 Adhoc한 분석 용도로는 Hi..
Apache Spark Linear Regression Example
Apache Spark Linear Regression Example
2018.02.05Linear Regression Example using Apache Spark Example code import org.apache.spark.ml.feature.VectorAssembler import org.apache.spark.ml.regression.LinearRegression import org.apache.spark.sql.SparkSession object LinearRegressionExample { def main(args: Array[String]): Unit = { val spark = SparkSession .builder() .appName("Linear Regression Example") .getOrCreate() val loadOptions = Map("sep" -> ..
김대중, 노무현 대통령에게서 배우는 글쓰기
김대중, 노무현 대통령에게서 배우는 글쓰기
2018.01.20멘토링 프로젝트를 하면서 서평 쓰는 연습을 하고, 다른 멘티분들의 잘 쓴 글들을 보게 되었다. 좋은 자극을 받아 글을 더 잘 써보고자 하는 욕심이 생겨서 이번에는 이 책을 고르게 되었다. 이번 책의 선정은 사실 내가 절대로 읽지 않을 것 같은 도서를 고르는 것이었기 때문에 처음 목적에는 조금 벗어날 수 있다. 다만, 내가 멘토링 프로젝트를 하지 않았다면, 서평도 쓰지 않았을 것이고 굳이 글쓰기 연습을 할 필요가 없었을 것 같아 이 책을 절대로 읽지 않았을 거 같아서 고르게 되었다. 글쓰기는 어려운 것이 아니다 노래방에서 노래를 부를 때 가수처럼 불러야하는 게 아닌 것처럼, 나는 전문 시인이나 소설가가 아니기 때문에 쓰고 싶은 내용을 진심을 담아서 쓰면 된다. 다만, 최소한의 맞춤법은 지키면서 글쓰는 연습..
[서평] 프로그래머를 위한 베이지안 with 파이썬
[서평] 프로그래머를 위한 베이지안 with 파이썬
2018.01.14프로그래머를 위한 베이지안 with 파이썬캐머런 데이비슨 필론 저/곽승주 역베이지안 방법과 확률 프로그래밍, 이 모든 것을 파이썬으로! 수학 없이 파이썬 코드로 이해한다. 수식을 설명하지 않는다. 컴퓨터를 이용한 이해가 최우선이다. 베이지안에서 사용하는 MCMC 모델, 손실함수, A/B 테스팅 등을 파이썬 코드로 구현해보면서 내용을 이해하고 활용 방법을 익힌다. 결과적으로 베이지안 추론이 무엇이고, 다른 통계적 추론과 어떤 차이가 있는지 이해한다. 계산 문제 대신 실생활 문제를 풀어본다. 실생활 문제를 사용하여 베이지안 수학과 확률 프로그래밍을 연결시킨다...평점 및 추천대상★★★★☆뒤에서 후술할 아쉬운 점 때문에 별 4개를 줬다. 기존의 베이지안 통계학 관련 도서들이 이론적인 내용에 조금 더 초점을 둔..
20대 엔지니어의 과거, 현재, 미래 그리고 완벽한 공부법
20대 엔지니어의 과거, 현재, 미래 그리고 완벽한 공부법
2018.01.13앞서 작성했던 공대 느낌 나는 서평들과 다르게, 이번 서평은 책을 읽으면서 내가 왜 부족했는지, 어떤 점이 현재 아쉬운지 그리고 어떻게 그것을 더 잘할 수 있을지에 대해서 써보려고 한다. 즉, 이번 서평은 그동안 공대생으로서 그리고 엔지니어로서 사는 나의 과거, 현재 그리고 미래에 관해서 책을 읽음으로써 다시 성찰한 것이다.이전까지 작성했던 서평들이 일종의 틀에 구속되었다면, 앞으로 작성할 서평 중 기술 서적을 제외하고는 오늘 작성한 서평처럼 자유 양식으로 써보려고 한다.책의 모든 장이 주옥같았지만, 내가 나를 가장 돌아보게 만든 장들은 다음 5개 장이었다.10장. 환경08장. 사회성12장. 독서09장. 몸07장. 감정어떻게 환경을 설정할 것인가? (10장. 환경)돌이켜보면 나는 항상 계획 실천보다 계획..
유전자의 힘, 그리고 인간의 힘
유전자의 힘, 그리고 인간의 힘
2018.01.06이기적 유전자리처드 도킨스 저진화생물학 분야의 과학자치고 리처드 도킨스만큼 대중적 인기와 학술적 논쟁을 결합시킨 사람도 흔치 않다. 그는 일찍이 촉망받는 젊은 동물행동학자로 간결한 문체와 생생한 비유, 논리적인 전개를 갖춘 글로 능력을 인정받아 왔다. 도킨스는 자신의 동물행동학 연구를 유전자가 진화의 역사에서 차지하는 중심적 역할에 대한 좀더 넓은 이론적 맥락과 연결시키기 시작했는데, 그 결과가 바로 『이기적 유전자』(1976)이다. 여전히 많은 논쟁의 대상이 되고 있는 결정론적 생명관, 즉 유전자가 모든 생명 현상에 우선한다는 저자의 주장...읽게 된 동기심리학자가 저술한 '1만 시간의 재발견'은 선천적 재능보다 의식적인 노력과 효율적인 학습 방법을 중요하다고 강조했기 때문에, 생물학자의 관점에서는 조..
신입 데이터 엔지니어의 2017년 회고
신입 데이터 엔지니어의 2017년 회고
2017.12.312017년1월학위 논문 Defense를 마치고 최종 논문 준비, 아래에서 서술할 Data 전처리 관련 논문, 그리고 전문연구요원 취업 준비로 바쁜 시기였다. ETRI나 KIST 같은 연구소 그리고 Coupang, LINE, NCSoft 등 전문연구요원 지원이 가능한 사기업에 서류 제출 및 면접을 보고 결과를 기다리고 있었다. 2월대부분 기업은 1월 중 면접까지 끝나고 2월에는 부산 집에서 쉬면서 결과를 기다리고 있었다. 전문연구요원 취업을 준비하면서 느낀 점은 중견기업 이상의 규모 회사는 TO가 정말 적다. 따라서 회사 차원에서는 지원자를 고르고 골라서 뽑아야 하므로 신중해야 하고 그에 따라 채용 프로세스가 길어졌다. 나를 최종 면접까지 부르고 탈락시킨 모 회사에서는 정말 뽑고 싶었고 신입 공채라면 뽑혔..
노력은 왜 우리를 배신하는가?
노력은 왜 우리를 배신하는가?
2017.12.301만 시간의 재발견안데르스 에릭슨, 로버트 풀 저/강혜정 역“같은 방법을 반복하면서 다른 결과를 기대하는 것은 미친 짓이다!” _ 알베르트 아인슈타인 당신이 알고 있던 ‘1만 시간’은 방법이 틀렸다! 90년대 초반, 세계적 심리학자 안데르스 에릭슨 박사는 자기의 분야에서 최정상에 오른 사람들을 연구하며 그들의 놀라운 성공 뒤에는 타고난 재능이 아닌 아주 오랜 기간의 노력이 있었다는 논지의 논문을 발표한다. 이 논문의 내용은 ‘1만 시간의 법칙’이라는 이름을 달고 말콤 글래드웰이 자신의 책 《아웃라이어》에 인용하면서 한국에 소개되었다. 책이 베스트셀...읽게 된 동기올해 1년 차 프로그래머이자 데이터 엔지니어로 내가 느꼈던 불안감 중 하나는 내가 앞으로 잘 할 수 있겠느냐는 막연한 고민이었다. 그 고민의 ..
한 문제를 풀기 위해 노력했던 천재 수학자들의 영화 같은 이야기
한 문제를 풀기 위해 노력했던 천재 수학자들의 영화 같은 이야기
2017.12.22페르마의 마지막 정리 사이먼 싱 저/박병철 역 『페르마의 마지막 정리』를 증명하는 것은 수학 역사상 가장 어려운 과제였지만, 『정리』 자체만 놓고 본다면 내용이 너무도 단순하여 초등학생도 풀 수 있을 정도로 간단해 보인다. 하지만 당대 최고의 석학들도 이 『정리』 앞에서는 꼼짝없이 무릎을 꿇어야 했던, 수학 역사상 최대의 수수께끼였고 난제였다. 그 동안 수많은 사람들이 이 『정리』를 증명하기 위해 일생을 바쳐왔지만, 끝내 빗장은 열리지 않는 듯했다. 그러나 영국의 수학자 앤드루 와일즈가 이를 증명하는 데 성공하였다. 그런 그의 꿈을, 멀리 피타고라스 시대부터...읽게 된 동기모든 공학 전공자들이 그렇지는 않겠지만, 대학 시절 나를 포함해 몇 명의 친구들은 '수학'이라는 학문을 동경했다. 수학을 잘하고 못..