Posts by Category

Data

AWS Summit Korea 2021 발표 - 커머스 스타트업의 효율적인 데이터 분석 플랫폼 구축기

less than 1 minute read

오랜만에 블로그에 글을 올려보네요. 글감은 정말 많지만 사는 게 바빠서 글을 올리지 못하고 있습니다. 최근에는 이직도 했는데 이직 사이에 약 2주 정도 텀이 있었고 그 텀을 이용해서 블로그 글도 쓰고, 공부도 하려고 했는데 정말 시간이 왜 이렇게나 빠른지 야속할 뿐입니다.

AWSKRUG Data Science 2020/12 발표 - Let the Airflow in AWS

less than 1 minute read

또 한차례 우연한 기회로 AWSKRUG 소모임에서 발표를 하게 되었습니다. 마침 AWS Managed Airflow가 나온 시점이어서 Airflow를 주제로 발표를 하게 되었는데요. 주로 production scale에서 Airflow를 어떻게 운영했는지, 그리고 자잘한 tips,...

Spark 3.0에 새로 추가된 기능 소개 및 설명

3 minute read

Spark 3.0.0이 6월 18일에 출시되었습니다. 정말 오랜만의 major update인 만큼 다양한 feature들이 Spark에 추가되었는데요. 1.x에서 2.x으로 넘어올 때 Dataset API, Catalyst Optimizer 등이 추가되었던 게 벌써 엊그제같은데 벌...

AWSKRUG Data Science 2020/05 발표 - 데이터 엔지니어가 실무에서 맞닥뜨리는 문제들

less than 1 minute read

우연한 기회로 AWSKRUG의 DS 소모임에서 발표를 하게 되었습니다. 주로 회사에서 겪었던 문제들 + 이론적인 내용들이 포함되어 있습니다. 온라인 발표는 처음이었는데 생각보다는 할만했던 것 같습니다. 생각보다 많은 분이 들어주시고 질문도 활발하게 해주셔서 재밌는 경험이었습니다. ...

Airflow의 execution_date에 대하여

3 minute read

Airflow는 Airbnb에서 시작된 Job orchestration framework로 데이터 엔지니어링 사이드에서 꽤나 많이 사용하는 도구 중 하나입니다. 저도 현업에서 production용으로 이미 사용하고 있고, 20+ DAGs, 200+ tasks를 매일매일 돌리고 있습...

Apache Livy에서 Spark job stdout log를 보는 법

less than 1 minute read

저는 Spark cluster에 job을 제출할 때 Apache Livy라는 프레임워크를 사용합니다. Livy는 RESTful API를 이용하여 Spark cluster에 job을 제출할 수 있게 하는 도구입니다. 다만 spark-submit을 이용하여 작업을 제출할 때와 약간의 ...

Spark 성능 최적화 및 튜닝 방법 - Part 1

3 minute read

최근에 Spark를 사용하면서 각종 High level API (Dataset, Dataframe) 와 어떻게 하면 Spark를 조금이라도 빠르게 쓸 수 있을지에 대한 고민을 하기 시작했는데요. Spark를 AWS EMR을 이용해서 돌리고 있고, EMR은 사용한 시간만큼 돈을 내는...

Back to Top ↑

Programming

Scala의 예외 처리 - Option, Either, Try

3 minute read

Scala에서는 JVM 기반 언어 최대의 적인 NPE (NullPointerException)를 functional하게 handling 할 수 있는 다양한 수단을 제공하고 있습니다. Scala의 exception handling 3인방인 Option, Either, Try 에 대해...

Back to Top ↑

Database

MySQL/MariaDB에서 유저에게 multiple host를 부여하는 방법

less than 1 minute read

1. Subnet mask 이용하기 다음과 같이 설정하면 여러 대역대에 대해서 접근을 허용할 수 있습니다. 그러나 mysqluserclone 같은 오래된 유틸리티에서는 이러한 방식을 지원하지 않으니 주의하세요. e.g.) ‘username’@’10.12.0.0/255.255....

AWS Athena와 잘 어울리는 DB 클라이언트 - DBeaver

1 minute read

최근에 회사 데이터 플랫폼을 On-premise Hadoop 환경에서 Managed 환경 (AWS EMR) 으로 모조리 이전했습니다. 예전에는 Azure 위에서 VM을 계속 띄워놓고 그 위에 Cloudera Hadoop을 설치하는 형태로 사용했었는데요. 이 배포판에 같이 딸려오는...

Back to Top ↑

Computer

C32HG70 HDR 포함 최적 설정값

1 minute read

설정을 제대로 하지 못해 고통받고 있을 C32HG70 모니터 소유자분들을 위해 작성합니다. Windows 10, Nvidia 그래픽 카드 기준으로 HDR 켠 상태로 실사용 가능한 설정값입니다.

그래픽 카드가 제대로 동작하지 않을 때 - 성능, 발열, BSOD 문제

2 minute read

최근에 GTX1080 Ti를 중고로 구매했습니다. 이전에 쓰던 GTX1070이 벌써 (사실 3년이나 됐지만) 퇴역할 때가 다가왔기 때문입니다. 최근에 나온 게임들을 풀옵으로 실행하기가 굉장히 힘들더군요. 이러한 배경에는 제 모니터의 해상도가 QHD인 점도 한 몫 했을 거지만요.

Back to Top ↑

DevOps

Jenkins slave node 구성하기 - Troubleshooting 포함

1 minute read

최근에 회사에서 Jenkins를 활발히 쓸 기회가 생겼습니다. 목적은 AWS에 배포된 EC2를 Slave node로 등록해서 배포를 자동화하려는 것이었는데요. 의외로 한 번에 설정하기가 쉽지 않더라고요. 예상치 못한 문제도 발생했고요.

Back to Top ↑

Story

Back to Top ↑

Python

파이썬의 효과적인 메모리 재활용 방법 - Interning

7 minute read

References 제가 글을 쓰면서 참고했던 글입니다. 참조된 글과 다르게, 이 글은 Python 3.7 기준으로 설명되어 있습니다. 또한, 파이썬에서 꼭 상수만 interning 하는 것은 아닙니다. 웬만한 object에 대해서는 interning을 적용하고 있습니다. (...

Back to Top ↑

Algorithm

Facebook Hacker Cup 2019 Online Qualification Round

5 minute read

지난 주 토요일 (06/15) 부터 이번 주 화요일 (06/18) 까지, 72시간 동안 Facebook Hacker Cup 2019의 Qualification Round가 진행되었습니다. 토요일부터 당장 풀어봐야지~ 라는 안일한 생각을 갖고 있다가 주말을 귀신처럼 흘려보낸 후 월요...

Back to Top ↑

OSS

[ZEPPELIN-4611] Fetching rows with newline character ( ) breaks entire table

less than 1 minute read

얼마 전 사내에서 데이터 분석가분의 troubleshooting을 도와주다가 Zeppelin의 버그를 발견했습니다. 바로 table content에 개행문자 (\n) 가 있으면 전체 table이 깨져 보이는 버그였습니다. 워낙 원인이 명확해보이는 버그라 망설임없이 Zeppelin ...

Back to Top ↑