jerryjung(jerryjung)

2018-06-07
Druid에서 주로 발생하는 문제에 대해 Q&A 형태로 정리한 글입니다....
2018-05-15
Structured Streaming Structured Streaming은 Spark2.X에서 새롭게 나온 Spark SQL엔진 위에 구축된 Stream Processing Framework이다. Structured Streaming은 기존에 Spark APIs(DataFrames, Datasets, SQL) 등의 Structured API를 이용하여 End-to-End Streaming Application을 손쉽게 만들 수 있다. 또한 input data에 대한  Streaming데이터 처리 후 checkpointing과 write-ahead logs를 통한 exactly-once하고 fault-tolerance한 프로세싱을 지원한다. 또한, 늦게 오는 데이터에 대해 처리가 가능하며 Continuous Processing Mode로 1ms미만의 latency를 제공한다. 각각에 대해서는 개별 글을 통해 공유해 보도록 하겠다. Structured Streaming의 주요한 아이디어 중 하나는 input으로 들어오는 stream데이터에 대해 table형식으로 append를 할 수 있다는 점이다. 즉, DataFrame을 통해 streaming으로 들어오는...
2017-11-13
Hive에 있는 데이터 Druid에 적재하려면? 다음과 같은 다양한 삽질 방법이 존재한다. Hive에 metastore로부터 hdfs location을 파악한 후 orc format이나  parquet format이냐에 따라 그에 맞는 hadoop ingestion spec을 작성해야함. orc인 경우 struct type정보를 잘 파악해야하며,  parquet인 경우에는 avro schema를 읽기 때문에 orc에 비해 덜 번거롭다. 자세한 내용은 요기를 참고: ORC ingestion spec , Parquest ingestion spec -> 여기서 문제점 하나가 발생 partition column의 경우는 어떻게 ingestion하지? partition column이 dimension이나 metric 또는 timestamp로 들어가는 경우가 있어서 이를 위해서는 별도 패치가 필요하다. 다행히 내부 브랜치에서 이런 기능을 구현하여 사용중...
2017-10-24
난생 처음 DEVIEW에 가보다 매년 DEVIEW 시즌이면 항상 이래저래 일이 생기거나 신청이 늦어 10년동안 한차례도 참석해 본적이 없었다. DEVIEW는 네이버가 주관하는 국내 최대 개발자 컨퍼런스 행사로 올해로 10주년을 맞았다. DAY1은 아쉽게 놓쳤지만 DAY2에 참석한 소감과 발표된 내용에 대한 간단 리뷰를 작성해 보려고 한다. 세션은 주관적인 취향에 의해 선택된 것이므로 몸이 여러개라면 전 트랙을 돌며 다 듣고 싶었지만 몸이 하나인 관계로 몇몇 세션에 대한 리뷰글을 적어 보려 한다....
2017-05-31
Spark2.0으로 업그레이드 되면서 이전 버전보다 좀 더 단순해지고 성능 개선을 위해 노력한 부분이 많이 있다. 이번 시리즈에서는 DataFrame API의 확장형인 type-safe한 Dataset에 대해 살펴 보려고 한다. ...
2017-05-22
이번 글에서는 Apache Hive와 연동된 Druid를 이용하여 초 단위 미만 분석을 수행한 결과를 리포팅하고 있다....
2017-05-17
Druid는 대용량 데이터를 실시간으로 분석/저장하는 기능을 제공하는 반면 여러가지 제약 조건을 가지고 있다. 이 제약 조건을 극복하기 위해 Druid에 저장된 데이터를 Hive를 이용하여 SQL로 분석하게 구성하였는데 어떤 장/단점이 있는지 살펴보자....
2017-03-23
Kubernetes 를 이용하여 kafka와 jupyter와 같이 저장소가 필요한 시스템을 설치/배포할 때 발생한 삽질기에 대한 이야기...
2017-02-20
이 글은 kubernetes관련 삽질기로 시리즈로 연재될 예정이다. kubernetes에 대한 내용은 이전글을 참조하시기 바란다. kubernetest(이하 k8s)는 오픈소스 컨테이너 관리 툴이다. k8s는 Go언어로 개발되어 있으며 경량의 이식 가능한 어플리케이션이다. k8s를 Linux기반의 OS에 올려 다수의 호스트에 클러스터 풀을 생성한후 docker컨테이너 어플리케이션을 올리고 관리하고 확장 가능하게 설정할 수 있다....
2016-12-22
git 을 sql로 질의하다 이번 시리즈는 사실 개발자의 막일을 줄인다기 보다 git 정보를 재미나게(?) 볼 수 있는 툴 하나를 소개 하려한다. gitql 은 git log 메시지를 sql로 볼 수 있는 툴이다. go로 개발되어 있으며 gitql을 설치 한 후 기존 레포지토리에서 명령어와 함께 sql을 실행시키면 git log 메시지를 쿼리로 확인 할 수 있다....
더보기