Data Engineering

Data Engineering/Data ·
데이터 엔지니어링 입문서로 추천되는 '빅데이터를 지탱하는 기술'에 대해 개인적인 생각으로 정리한 글입니다.데이터 엔지니어로서 업무를 시작하기 전과 시작한 후에 느끼는 점이 달라 정리하게 됐습니다. 잘못된 부분이 있다면 댓글로 알려주시면 감사하겠습니다.(출처 표기가 되지 않은 이미지는 모두 직접 그린 것이기 때문에 사용하실 때 반드시 출처를 남겨주시길 바랍니다.)  빅데이터를 지탱하는 기술 | 니시다 케이스케 - 교보문고빅데이터를 지탱하는 기술 | 다양한 IT 기술의 집합체 빅데이터, 그 기술의 내부를 파헤친다!컴퓨터의 성능 향상에 따라 점점 더 많은 것이 시스템화되어 좀 더 효율 높게 운용하는 시대가 되었product.kyobobook.co.kr이 책의 두 번째 장인 '빅데이터의 탐색' 부분에서는 크로스..
Data Engineering/Hadoop ·
HDFSHadoop Distributed File System의 약자로, 하둡에서 대용량 데이터를 저장하고 관리하기 위해 설계된 분산 파일 시스템이다.간단히 말하면, HDFS는 여러 대의 컴퓨터(노드)들에 데이터를 나눠 저장하는 시스템이다. HDFS의 주요 특징1. 데이터 분산 저장- HDFS는 데이터를 여러 조각으로 나눠서 여러 컴퓨터(노드)에 저장한다. 예를 들어, 1GB 크기의 파일을 128MB씩 나눠서 8개의 블록으로 쪼개고, 각각의 블록을 서로 다른 노드에 저장한다.2. 데이터 복제- HDFS는 데이터를 안전하게 보관하기 위해 복사본을 만든다. 보통 한 데이터 블록의 복제본이 최소 3개의 다른 노드에 저장된다. 이렇게 하면 한 노드에 문제가 생기더라도 데이터를 잃지 않고 복구할 수 있다.3. 고..
Data Engineering/Hadoop ·
본 포스팅은 패스트캠퍼스의 '초격차 데이터 엔지니어링 강의' 일부를 개인적으로 정리한 내용입니다.문제가 되는 부분이나 잘못된 부분은 댓글로 남겨주시면 감사하겠습니다.1. Hadoop의 필요성하둡(Hadoop)은 대용량 비정형 데이터를 처리하기 위해 설계된 분산 데이터 처리 시스템이다.기존 RDBMS는 대용량 데이터를 처리하는데 한계가 있고 비용이 많이 들지만, 하둡은 저렴한 x86 리눅스 서버에서도 쉽게 설치 및 운영할 수 있다. 데이터 용량이 늘어나면 단순히 노드를 추가해 확장할 수 있으며, 데이터 복제 기능을 통해 장애에도 데이터 복구가 가능하다.또한, 분산된 여러 서버에서 동시에 데이터 처리가 가능해 기존의 데이터 처리 방법보다 성능이 뛰어나다.한 가지 사례로, 뉴욕 타임즈는 130년치 신문 기사를..
Data Engineering/Airflow ·
실무에서 Kubernetes Executor 만큼 많이 사용되는 Celery Executor의 아키텍처에 대해 정리해보자.Celery ExecutorCelery Executor는 Airflow에서 작업(Task)를 여러 Worker에게 분산하여 처리하는 방식이다.Celery라는 분산 작업 큐 시스템을 사용하여 작업을 관리하고 분배한다.ComponentWeb Server: Web UI를 제공하며, 사용자가 DAG과 Task의 상태를 모니터링하고 관리할 수 있게 한다. Task를 수동으로 트리거할 수도 있다.Workers:실제로 할당된 Task를 실행한다. Celery Executor는 여러 Worker에게 Task를 분산하여 할당한다.Database: 메타데이터 데이터베이스로, DAG, Task, 스케줄링..
CDC(Change Data Capture) 개념CDC(Change Data Capture)는 데이터베이스에서 데이터의 변경 사항을 실시간으로 추적하고 기록하는 기술이다. 쉽게 말해, 데이터베이스에 어떤 변화가 생겼는지(ex. 데이터 추가, 수정, 삭제)를 자동으로 감지하고, 그 변화를 다른 시스템이나 애플리케이션에게 전달한다. CDC가 왜 중요할까?기업에서는 여러 시스템이 서로 데이터를 공유하거나 동기화해야하는 경우가 많다. 간단한 예를 들어, 웹 사이트에서 고객이 주소를 변경하면, 그 정보가 다른 관련 시스템(ex. 배송 시스템, 고객 관리 시스템 등)에도 즉시 반영돼야 한다. 이 때, CDC를 사용하면 데이터베이스의 변화가 생길 때마다 이를 자동으로 감지하고 필요한 시스템에 변화된 정보를 실시간으로..
Data Engineering/Data ·
데이터 엔지니어링 입문서로 추천되는 '빅데이터를 지탱하는 기술'에 대해 개인적인 생각으로 정리한 글입니다.데이터 엔지니어로서 업무를 시작하기 전과 시작한 후에 느끼는 점이 달라 정리하게 됐습니다. 잘못된 부분이 있다면 댓글로 알려주시면 감사하겠습니다.(출처 표기가 되지 않은 이미지는 모두 직접 그린 것이기 때문에 사용하실 때 반드시 출처를 남겨주시길 바랍니다.)  빅데이터를 지탱하는 기술 | 니시다 케이스케 - 교보문고빅데이터를 지탱하는 기술 | 다양한 IT 기술의 집합체 빅데이터, 그 기술의 내부를 파헤친다!컴퓨터의 성능 향상에 따라 점점 더 많은 것이 시스템화되어 좀 더 효율 높게 운용하는 시대가 되었product.kyobobook.co.kr 이 책의 가장 첫 장인 '빅데이터의 기초 지식' 부분에서는..
Data Engineering/Spark ·
해당 내용은 스파크 완벽 가이드를 개인적인 학습 내용과 함께 정리한 내용입니다. 스파크 완벽 가이드오픈소스 클러스터 컴퓨팅 프레임워크인 스파크의 창시자가 쓴 스파크에 대한 종합 안내서입니다. 스파크 사용법부터 배포, 유지 보수하는 방법까지 포괄적으로 익힐 수 있습니다. 스파크 2의www.hanbit.co.kr  - spark-submit: 명령으로 운영용 애플리케이션 실행- Dataset: 타입 안정성(type-safe)을 제공하는 구조적 API- 구조적 스트리밍- 머신러닝과 고급 분석- RDD: 스파크의 저수준 API- SparkR3.1 운영용 애플리케이션 실행하기spark-submit 명령은 애플리케이션 코드를 클러스터에 전송해 실행시키는 역할을 한다.클러스터에 제출된 애플리케이션은 작업이 종료되거나..
Data Engineering/Spark ·
해당 내용은 스파크 완벽 가이드를 학습하며 개인적 이해를 바탕으로 정리한 내용입니다.잘못된 부분이 있다면 댓글로 알려주시면 감사하겠습니다! 스파크 완벽 가이드오픈소스 클러스터 컴퓨팅 프레임워크인 스파크의 창시자가 쓴 스파크에 대한 종합 안내서입니다. 스파크 사용법부터 배포, 유지 보수하는 방법까지 포괄적으로 익힐 수 있습니다. 스파크 2의www.hanbit.co.kr 2.1 스파크의 기본 아키텍처한 대의 컴퓨터만으로는 더 이상 대규모 정보를 연산할 만한 자원이나 성능을 가지지 못한다.설령, 연산을 할 수 있다고 하더라도 빅데이터를 처리하는 경우에는 많은 시간이 걸릴 수 밖에 없다. 컴퓨터 클러스터는 여러 컴퓨터의 자원을 모아 하나의 컴퓨터처럼 사용할 수 있게 한다. 그렇다면 클러스터는 무엇인가?클러스터 ..
Data Engineering/Airflow ·
AirflowAirflow는 Python기반의 workflow scheduler이다. 오픈 소스 플랫폼으로 배치 작업을 개발, 스케줄링, 모니터링할 수 있다. DAG(Directed Acyclic Graph)은 자료구조에서 본 그 순환하지 않는 방향이 존재하는 그래프(DAG)가 맞다.Airflow에서 DAG은 하나의 워크플로우 파이프라인이며, DAG이라는 특성상, 반복이나 순환을 허용하지 않는다.(비순환성)노드(Task): DAG의 각 노드(여기서는 A~G)는 Task로, 실행할 작업을 의미한다. Task는 Python 함수, Bash 스크립트, SQL 쿼리 등 다양한 형태로 정의될 수 있다.간선(Edge): DAG에서 간선은 Task 간의 의존성을 나타낸다. 즉, 어떤 Task가 먼저 실행되어야 하고,..
삐야오
'Data Engineering' 카테고리의 글 목록