MapReduce 데이터를 두가지 단계로 처리한다 : map phase, reduce phase. map phase에는 HDFS로 부터 데이터를 읽는다. 각각의 dataset은 input record라고 부른다. reduce phase에는 실제 계산이 수행되고 결과가 저장된다. 그리고 저장 타깃은 database,HDFS 등이 될수 있습니다. ...
HDFS
HDFS(The Hadoop Distributed File System) 데이터가 전체 클러스터에 분산되어 저장되도록 함 데이터에 빠르게 접근하고 분석하도록 함 대용량의 파일들을 여러 블럭으로 쪼갬, Hadoop 2.0의 경우, block당 default 128MB. 여러 컴퓨터에 ...
Hadoop Overview
왜 하둡을 쓰는가? 빅데이터 처리가능 - eg. 하루에 terabyte Horizontal scaling으로 계속 성능을 linear하게 향상가능 Disk seek time 감소 Hardware failure에 대해 유연함 ...
Image
App Binaries와 dependencies image data에 대한 Metadata와 image를 실행하는 방법 공식 정의 : root filesystem의 변화에대한 정렬된 컬렉션과 런타임에 컨테이너내에서 실행되기 위해 대응되는 execution parameter들 complete os, kernel, kernel module...
Docker Network
도커내에있는 컨테이너들은 bridge 네트워크에 연결되어있다. 연결된 컨테이너들은 서로 커뮤니케이션 가능하다. 하나의 호스트의 포트번호에는 도커 컨테이너 포트번호는 하나와 매칭된다. 통상적으로 port를 expose할때 [container port]:[host port] 로 명시한다.
nginx
NGINX란? 더 적은 자원으로 더 빠르게 데이터를 서비스할수있는 웹서버 Web Server HTTP 프로토콜에 따라서 서버쪽에서 정보를 제공하는 소프트웨어. 대표적으로 Apache가 있다. 출처 https://opentutorials.org/module/384/3462
Kafka Stream vs Spark Streaming
Apache Kafka Stream Kafka에 저장된 데이터를 처리하고 분석하기 위한 클라이언트 라이브러리 데이터를 처리하는 방법 2가지 Kafka -> Kafka : Kafka Stream이 aggregations, filtering 등 작업을 처리하고 데이터를 Kafka에 보낸다. 설정이 잘 되어있다면, scalabili...
Framework vs Library
Framework Library 제어를 역전시킨다. 즉, 개발자에게 어떻게 구현할지를 강요한다. 라이브러리는 프로그래머가 필요할때, 필요한장소에서 라이브러리를 호출한다.
Batch Stream vs Stream Processing
Batch Processing vs Stream Processing Batch processing Stream processing 데이터가 특정 시간동안 수집됨 데이터가 계속 수집됨 데이터가 모두 수집되고 나서 처리됨 데이터...
객체를 여러개 주입하고 싶을때
여러 객체중에 특정 객체만 주입하기 스프링에서 interface를 구현한 객체가 여러개 있는경우 충돌이 발생할수 있다. 이와 같은경우 다음과 같이 해결가능하다. 해결방법 충돌이 나는 클래스 둘중에 하나에 @Primary annotation을 정의한다. @Primary @Component public class MyBcryptPasswordEnco...