자바에서 직렬화란 자바 시스템 내부에서 사용되는 객체 또는 데이터를 외부의 자바 시스템에서도 사용할 수 있도록 바이트(byte) 형태로 데이터 변환하는 기술이다.바이트로 변환된 데이터를 다시 객체로 변환하는 기술을 "역직렬화"라고 한다.시스템적으로 이야기하자면 JVM
Java를 쓰면서 JVM에 대해 너무 잘 알지 못하고 쓰는 것 같아 정리하면서 머리에 넣어 보고자 한다. 개요 JVM 은 자바 가상머신이며, 자바 바이트코드를 실행 할 수 있는 주체로 JVM 덕분에 CPU나 OS와 별개로 독릭적으로 동작 가능하다. JVM 구조
Hive 정렬관련해서 정리해보고자 한다.크게 Order By, Sort By, Cluster By,Distribute By 4가지로 나뉜다.1개의 리듀서로 전체데이터 정렬데이터 용량이 클수록 오류 발생확률 높아짐리듀서별로 데이터 정렬리듀서 개수가 많을수록 속도는 빠름최
Hive를 사용하며 상세한 Hive에 내용을 잘모르는 것 같아 정리를 해본다.메타스토어에 저장되는 테이블의 종류에는 2가지가 존재한다.생성 시 location(hive.metastore.warehouse.dir) 위치에 directory에 저장되는 테이블기본적으로
Apache Hudi는 HDFS 또는Cloud Storage 기반으로 대량의 분석데이터를 저장하고, 관리할수 있는 스토리지이다. Apache Hudi는 스트림을 통해서 실시간 데이터를 가져올수도 있고, 전통적인 batch 프로세싱으로 데이터를 저장할 수도 있다.기존 H
실시간 데이터를 하이브에 저장해야하는 요건이 생길수가 있으므로, 참고자료를 남겨본다참조 : https://github.com/apache/hive/blob/master/kafka-handler/README.md
Hadoop1에 경우 써본적은 없지만 어떻게 발전이 되었는지 정리해두면 좋을 것 같다.NameNodeDataNodeHadoop 주요 구성요소 NameNode, DataNode가 있고, Hadoop 위에서 작업을 실행하기 위한 MapReduce Job에 구성요소는 Jo
회사에 다니면서 많이 다뤄봤지만 기본적인 개념이 많이 부족한 것 같아 정리해본다.하둡 클러스터는 하나의 마스터 노드와 여러개의 데이터노드로 구성클라이언트로부터 파일접근 요청에 응답 및 관리 역할Hadoop 내 존재하는 파일 및 디렉토리에 대한 "메타데이터" 관리모든 변
프로듀서를 사용하면서 한번 쯤 정리가 필요해보여서 적어본다.프로듀서의 경우는 레코드를 send를 할 때, 데이터를 바로 브로커로 보내는게아니라 비동기로 전송된다.그말은 버퍼에 데이터를 모아뒀다가 설정값에 따라 보내진다는 뜻이다.2가지 Accumulator / Sende
실시간 프로젝트 도중 발생했던 프로듀서 관련 이슈 해결에 대해서 적어본다.타겟 카프카로 메세지를 보내는 도중 장애를 일으키는 상황을 테스트 중 타겟 카프카 브로커가 내려갔음에도 불구하고 에러상황을 캐치못하는 상황이 발생되었다.모듈 점검을 하다보니 Producer Opt
Consumer는 메시지를 가져오기 위해서 Partition에 연속적으로 Poll한다.가져온 위치를 나타내는 offset 정보를 \_\_consumer_offsets Topic에 저장하여 관리한다.동일한 group.id로 구성된 모든 Consumer들은 하나의 Cons
한번에 가져올 수 있는 최소 데이터 사이즈지정한 크기보다 작다면 데이터가 누적될 때까지 기다림한번에 가져올 수 있는 최대 데이터 사이즈요청에 대해 응답을 기다리는 최대 시간컨슈머가 살아있는 것으로 판단하는 시간10초 안에 컨슈머가 그룹 코디네이터에게 하트비트를 보내야함
Kubernetes의 Input은 Action이 아닌 Desired StateKuberenetes 공식 홈페이지의 다큐멘테이션을 읽으면 유독 Desired state라는 단어가 많이 등장한다.이는 Kubernetes를 이해하는 데에 있어서 핵심적인 부분이다.Docker
Yaml 및 Json 파일에 ConfigMap과 Secret을 정의.쿠버네티스에서 애플리케이션을 실행하려면, 애플리케이션을 docker image로 만들어 도커 허브에 push 필요.Kubectl 명령어를 실행하면 kube-Apiserver에 REST API로 Yaml
쿠버네티스란 여러 개의 호스트(Pod)를 하나로 묶어 관리하기 위한 오케스트레이션 툴이다.Pod는 쿠버네티스의 최소 배포 단위로 1개 이상의 컨테이너, 네트워크, 스토리지 등이 포함된다.공식 사이트의 정의로는 어플리케이션 컨테이너의 배포 자동화, 스케일링, 운영을 위해
프로젝트 내에서 가끔 해당 jar에서 사용되는 클래스 확인할 때 유용하게 쓰임자주 사용 되는 부분이니 꼭 기억할 것!!grep 'org.apache.log4j.Logger' find ./ -name "\*.jar"
프로젝트 도중 운영환경에서 ORACLE RAC(ACTIVE/ACTIVE) 구조로 구성되어 있어 기존 회사 솔루션에서 붙는 JDBC 방식에 수정이 필요해서 생각나는김에 적어본다.기존 방식은 아래와 같은 방식으로 설정해도 연결이 되었다.하지만 RAC 구성 후 연결하기 위해
프로젝트 도중 스프링부트로 메트릭 등록 및 수집하는 기능이 아닌 스프링을 이용한 메트릭 수집이 필요해 기능 개발한 것에 대해 적어본다.먼저 사용되는 라이브러리 목록메트릭 수집할 수 있는 HTTP SERVER(Client) 생성 필요하다.DefaultExports는 프로
spark 개인적 실습했던 내용을 옮겨보고자 한다. 서버 스펙 : 4대 서버(Mater Node 1대 / Worker Node 3대) 테스트 데이터 : 테스트 데이터 6.5G 작업 내용 : 테스트 데이터 GroupBy/Aggregate 연산 진행실습 Apache Spa