Airflow에서 Deferrable Operator란?
·
데이터 엔지니어링
아젠다Deferrable의 의미Deferrable Operator 사용 및 작성1. Deferrable의 의미“Deferrable”은 “연기할 수 있는” 또는 “지연 가능한”이라는 의미를 갖고 있습니다.기존의 Operator: 작업이 대기 상태에 있을 때도 워커를 점유하면서 리소스를 사용하지만,Deferrable Operator: 작업을 중지하고 필요할 때 다시 시작할 수 있어 워커 리소스를 절약합니다이를 통해 시스템의 리소스 효율성을 높이고, 더 많은 작업을 동시에 처리할 수 있습니다.Airflow에서 특정 Task를 수행한다는 것은 기본적으로 워커의 슬롯을 사용하는 것을 의미합니다. 하지만, Deferrable Operator는 워커에서 동작하는 것이 아닌 Triggerer라는 워커에서 동작합니다.T..
DynamoDB와 Read / Write Capacity
·
데이터 엔지니어링
DynamoDB는 AWS에서 제공하는 관리형 NoSQL 데이터베이스 서비스입니다. NoSQL이 갖는 장점과 쉬운 사용성, 그리고 빠른 성능과 자동 확장 기능을 갖는데요.DynamoDB의 장/단점에 대해 이해하고 제대로 사용하기 위해 꼭 필요하다고 생각하는 DynamoDB의 Read / Write Capacity에 대해 알아보고 제 생각을 정리해 봤습니다.아젠다DynamoDB의 장점 / 단점Read / Write Capacity 조절의 필요성1. DynamoDB의 장점 / 단점제가 사용하면서 느꼈던 장점과 단점을 몇 가지 짚어볼게요.장점:데이터 모델링: 데이터 모델링이 유연합니다. 컬럼을 자유롭게 추가/삭제할 수 있고 데이터 타입도 다양하게 사용할 수 있어요.(JSON)완전 관리형 서비스: 서버 관리에 대..
RDD vs DataFrame in Spark
·
데이터 엔지니어링
데이터 표현 방식RDD구조화되지 않은 데이터도 처리할 수 있음사용자 정의 함수를 통해 데이터 변환하는 데 유연DataFrameRDD 위에 구조화된 데이터 추가한 것행과 열로 이루어져 있으며 Pandas의 Dataframe과 유사명확한 스키마를 가지고 있기에 데이터 처리 및 변환이 직관적이고 효율적API 수준RDD낮은 수준의 API 제공사용자에게 더 많은 제어권 제공map, reduce, filter 등의 함수형 프로그래밍 연산자 이용해 변환DataFrame높은 수준의 API 제공SQL 쿼리와 유사한 방식으로 데이터 처리 -> 직관적최적화된 실행 계획을 통해 효율적으로 동작성능 최적화RDD사용자 정의함수를 사용하기에 최적화 여지가 적음실행 계획 최적화하지 않음DataFrameCatalyst Optimize..
스파크 RDD 이해하기
·
데이터 엔지니어링
Apache spark에서는 데이터를 다루기 위해 아래 3가지 추상화 개념을 제공합니다.RDD (Resilient Distributed Datasets)DataFramesDatasets이 중 RDD에 대한 설명과 예제를 통해 이해해보고자 합니다.정의RDD는 Spark의 기본 데이터 구조로 병렬로 처리할 수 있는 불변 분산 객체 컬렉션특징메모리 내에서 처리 연산을 지원함기존 map reduce 파일 시스템과 비교했을 때의 장점생성되면 수정할 수 없음기존 RDD를 수정하는 게 아니라 새로운 RDD를 생성함. (불변성)RDD는 장애로부터 쉽게 복구할 수 있음위 불변성 덕분에 RDD 복구가 쉽고 분산 환경에서 처리되기에 Node A에서 문제시 Node B에서 수행 가능함Laze EvaluationAction 연..