카프카(Kafka)
카프카란 카프카는 MOM(Message Oriented Middleware) 소프트웨어 중 하나로 대규모로 발생하는 메세지성 데이터를 비동기 방식으로 중계하는 역할을 한다. 원천 시스템으로부터 대규모 트랜잭션 데이터가 발생했을 때, 중간에 데이터를 버퍼링하면서 타깃 시스템에 안정적으로 전송해주는 중간 시스템이 필요한데, 카프카가 그와 관련된 강력한 ...
카프카란 카프카는 MOM(Message Oriented Middleware) 소프트웨어 중 하나로 대규모로 발생하는 메세지성 데이터를 비동기 방식으로 중계하는 역할을 한다. 원천 시스템으로부터 대규모 트랜잭션 데이터가 발생했을 때, 중간에 데이터를 버퍼링하면서 타깃 시스템에 안정적으로 전송해주는 중간 시스템이 필요한데, 카프카가 그와 관련된 강력한 ...
플럼이란 플럼은 빅데이터를 수집할 때 다양한 수집 요구사항들을 해결하기 위한 기능으로 구현된 소프트웨어이다. 데이터를 원천으로부터 수집할 때 통신 프로토콜, 메세지 포맷, 발생 주기, 데이터 크기 등으로 많은 고민들을 하게 되는데 플럼은 이런 고민들을 쉽게 해결할 수 있는 기능과 아키텍처를 제공한다. 플럼 아키텍처 플럼 메커니즘은 Source, ...
이번 글에서는 다른 계정 간에 S3 객체를 이전하는 방법을 알아보자. 처리 과정을 이해하기 쉽게 하기 위해 계정 A를 복사할 파일의 출발지, 계정 B를 복사된 파일의 목적지라고 서로 약속하자. 워크로드 계정 A: 복사할 파일의 출발지 (Source) 계정 B: 복사된 파일의 목적지 (Target) 계정 B에서 S3 Bucket의 권한...
지난 30일 동안 데이터 엔지니어로써 참여했던 프로젝트 ‘Oh my Stack’를 설명하고 회고해보려고 한다. 프로젝트에 관련된 모든 소스는 다음 링크에서 볼 수 있다. https://github.com/jewoodev/Oh_My_Stack 1. Oh my Stack를 기획한 이유 이 프로젝트의 필요성, 기획 이유에 대한 이야기는 ‘취업난’에서부...
파일 이동 # 로컬에서 컨테이너로 파일을 복사 docker cp [호스트 경로] [컨테이너 이름:컨테이너 경로] # 컨테이너에서 로컬로 파일 복사 docker cp [컨테이너 이름:컨테이너 경로] [호스트 경로] 볼륨 마운트 docker run -itd --name [컨테이너 이름] --mount "$(pwd)"/target:/[컨테이너 위치] ...
1. 도커 이미지 검색 docker images 1-1. 도커 이미지 삭제 docker images rm <image ID> 해당 이미지를 컨테이너에서 사용하고 있으면 이미지를 삭제할 수 없습니다. 1-2. 모든 이미지 삭제 docker rm $(docker images -q) -f (docker image -q)라는 명령어는 이미지...
이 글은, 프로그래머스에서 진행되는 실리콘밸리에서 날아온 데이터 엔지니어링 키트 with Python에서 배운 내용을 바탕으로 이루어져 있습니다. Backfill이란… 데이터 파이프라인을 운영하다보면 이미 지난 날짜를 기준으로 ETL을 재처리 해야하는 경우가 종종 생깁니다. 그런 재처리 작업을 Backfill(‘메우는 작업’)이라는 이름으로 ...
이 글은, 프로그래머스에서 진행되는 실리콘밸리에서 날아온 데이터 엔지니어링 키트 with Python에서 배운 내용을 바탕으로 이루어져 있습니다. Apache Airflow란? Airflow는 AriBnB에서 만든 workflow management tool입니다. workflow는 일련의 작업 흐름으로, 예를 들어 ETL처럼 데이터를 Ext...
이 글은, 프로그래머스에서 진행되는 실리콘밸리에서 날아온 데이터 엔지니어링 키트 with Python에서 배운 내용을 바탕으로 이루어져 있습니다. 비구조화된 데이터 처리 비구조화된 데이터는 AWS에서 제공하는 S3라는 클라우드 스토리지에 저장합니다. S3외에 다른 스토리지를 선택할 수도 있습니다. 다만, S3는 가격이 싸면서도 로그파일같...
이 글은, 프로그래머스에서 진행되는 실리콘밸리에서 날아온 데이터 엔지니어링 키트 with Python에서 배운 내용을 바탕으로 이루어져 있습니다. 이번 글에서는 기본적인 SQL 쿼리문들을 정리해보겠습니다. 먼저 DDL입니다. DDL - 테이블 구조 정의 언어 CREATE TABLE Primary key 속성을 지정...