본문 바로가기

데이터엔지니어링

(7)
[데이터엔지니어링] Docker 개념 Docker란 무엇인가?Docker는 Container 기반의 오픈소스 가상화 플랫폼입니다.쉽게 얘기하면 컨테이너라 불리는 하나의 작은 소프트웨어 유닛 안에 Application, System Tools, Dependencies 와 같은 실행을 위한 모든 것을 하나로 묶어 다른 서버, PC 에 쉽게 배포하고 안정적으로 구동할 수 있게끔 해주는 Tool입니다.컨테이너란?컨테이너의 개념을 알기 위해서는 Virtualization(가상화) 개념에 대해서 먼저 알아야합니다.Virtualization (가상화)가상화(Virtualization)는 가짜(not real) 하드웨어 환경을 만들어 내는 기술입니다.가상화(Virtualization)를 통해서 물리적 머신의 기능을 여러 사용자, 환경에 배포해 물리적 머신..
[데이터엔지니어링] Apache Kafka Connect 설명 Kafka Connect 데이터베이스, 키-밸류 스토어와 같은 외부 시스템을 Kafka에 연결해 주는 구성 요소. Kafka와 외부 시스템 간의 연결을 쉽고, 간편하게 해준다. Consumer 와 Producer의 기능을 Code 작성 없이 설정만으로 구성할 수 있다. Kafka connect의 도입 배경 Single Kafka System with Producer & Consumer 카프카(kafka)는 프로듀서(Producer)와 컨슈머(Consumer)를 통해 다양한 외부 시스템 데이터를 주고 받으며 메세지 파이프라인 아키텍쳐를 구성. Multiple Kafka System with Producer & Consumer 하지만 이러한 파이프라인을 매번 구성하며 프로듀서와 컨슈머를 개발하는 것은 비용,..
[데이터엔지니어링] Apache Kafka 개념 알아보기 Apache Kafka 2011년, LinkedIn에서 개발 후 Apache 오픈소스로 공개 데이터 파이프라인의 확장, 기종 간의 호환성, 고성능 기반의 스트림 데이터 처리의 문제 해결을 위해 개발 실시간 스트리밍 데이터 수집, 처리하는 데 최적화된 분산 데이터 스토어 개발 배경 과거 링크드인 시스템 구성도 엔드투엔드(end-to-end) 연결 방식의 아키텍처 데이터가 출발지에서 목적지까지 직접적으로 이동 이러한 end-to-end 방식은 아키텍처가 거대해지고, 소스 어플리케이션과 타겟 어플리케이션을 연결하는 파이프라인의 개수가 많아지면서 문제가 발생. Kafka 도입 후 링크드인 시스템 구성도 Pub/Sub 방식 : 중앙에 메시징 시스템 서버를 두고 Publisher(게시자)가 topic에 메시지를 보..
[데이터엔지니어링] Airflow 실습(2) - Airflow 간단 설명 Airflow를 통해서 스케줄링을 하는 예시 이전에 Airflow란 무엇인지, 기본 구조는 무엇인지에 대해서 설명하겠다. Airflow란? Workflow Management Tool로, Workflow란 ETL과 같은 작업의 흐름을 말한다. Workflow는 DAG와 task라는 단위로 다양하게 구성할 수 있다. Airflow는 Python코드로 쉽게 workflow를 구성한다는 장점이 있다. 워크플로우 관리 도구의 주요 역할은 ‘ 정기적으로 태스크를 실행’하고 ‘비정상적인 상태를 감지하여 그것에 대한 해결을 돕는’것이다. Airflow Architecture Scheduler 스케줄된 workflow 를 trigger 하고, task 를 executor 에 실행하도록 제출 모든 task와 DAG를 모..
[데이터엔지니어링] Airflow 실습(1) 저번 게시물에서는 Putty를 통해서 EC2에 접속하는 방법까지 정리를 했는데, 오늘부터는 EC2에서 Airflow 실습을 진행할 것이다 1. 가상환경 만들기 가상환경을 사용하면 장점은 Host 환경과 별도로 각각 필요한 Python 버전을 관리하고, 필요한 특정 버전의 라이브러리를 관리할 수 있게 해준다. Airflow를 위한 가상환경을 만들어보자! sudo apt-get install virtualenv virtualenv airflow 명령어를 통해서 Airflow를 설치할 가상환경을 만들어준다. (중간에 무슨 이상한 경고 문구 뜨는데 그냥 다 엔터 침) cd airflow source ./bin/activate sudo apt-get install python3.11 sudo apt install..
[데이터엔지니어링] PuTTY를 이용해 Window에서 EC2 접속하기! 이번 시간에는 윈도우에서 EC2에 접속하는 걸 해보겠습니다. 맥북에서는 chmod 명령어를 이용해서 쉽게 바꿀 수 있다던데, 윈도우는 제가 잘 몰라서 그런지 PuTTY를 이용하라고 하더라고요.. 아무튼 Putty를 이용해 EC2에 접속해 봅시다! 1. Putty 다운로드 일단 제일 먼저 PuTTY를 다운로드 하셔야 합니다 저는 지금 putty-64bit-0.78 버전을 사용하고 있습니다. 아래의 링크에서 각자 알아서 다운로드 해주세요! https://www.putty.org/ Download PuTTY - a free SSH and telnet client for Windows Is Bitvise affiliated with PuTTY? Bitvise is not affiliated with PuTTY...
[데이터엔지니어링] AWS EC2 인스턴스 생성하기! 최근 데이터 엔지니어링에 관심이 생겨 Airflow를 이용해 개발 행사 및 대회 소식 알림봇을 만드는 프로젝트를 진행중 입니다. 다 같이 프로젝트 진행 과정을 정리하자고 해서 이렇게 글을 쓰게 되었습니다! 기록용! 암튼 기초 중에 기초 AWS EC2 인스턴스 생성하는 걸 해보겠습니다. 1. EC2 인스턴스 검색 AWS 콘솔에서 EC2를 검색합니다 2. EC2 인스턴스 생성 1) 인스턴스 시작 버튼을 클릭해 인스턴스 이름을 설정합니다. 2) 인스턴스 유형을 선택합니다. 3) 키 페어를 생성합니다. 키 페어는 Amazon EC2 인스턴스에 연결할 때 자격 증명 입증에 사용하는데 사용하는 것입니다. ※ 잃어버리면 인스턴스에 접속할 수 없으므로 잘 보관하셔야합니다. 키 페어를 생성하면 다음과 같이 pem파일이 ..