목록DataEngineering (13)
NIRVANA
하둡(Hadoop)이란?High-Availability Distributed Object-Oriented Platform빅데이터를 저장, 처리, 분석할 수 있는 자바 소프트웨어 프레임워크대용량의 데이터를 클러스터에서 병렬로 동시에 처리하여 처리 속도를 높이는 것을 목적으로 하는 분산처리를 위한 오픈 소스 프레임워크 하둡 개발 배경야후(Yahoo!)의 더그 커팅이 검색 엔진을 개발하는 과정에서 대용량의 비정형 데이터를 기존의 RDB 기술로 처리하는 데에 한계를 발견구글에서 발표한 GFS와 MapReduce 관련 논문을 참고하여 개발이후 Apache 재단으로 프로젝트가 넘어가 오픈 소스로 공개됨 💡구글 GFS와 MapReduceGFS(Google File System, 구글 파일 시스템)구글 파일 시스템은..
스트림 처리? 끊임없이 들어오는 데이터 흐름을 연속적으로 처리하는 것 전통적인 분산 스트림 처리에서는 스트림 처리를 레코드 단위 처리 모델로 구현 각 노드들은 지향성 그래프로 구성 되어 지속적으로 한번에 하나씩 레코드를 받게 된다. 레코드를 받은 노드는 레코드를 처리하여 생성된 레코드를 그래프 상 다음 노드로 보내게 된다. 장점 입력 레코드가 파이프라인에서 처리 되고 결과가 레코드로 생성되기 까지 몇 밀리초 만에 가능하다 단점 특정 노드가 장애를 겪거나 다른 노드보다 느린 상황에서는 효울성이 떨어진다 Spark Streaming 실시간 데이터 분석을 위한 스파크 컴포넌트 실시간 데이터 스트림을 받아 데이터를 디스트림(DStream, distretized stream, 이산 스트림)이라 불리는 추상화 개념..
2.1 다양한 소스에서 데이터 수집 로켓에 대한 뉴스를 한 곳에 수집하길 원하는 JohnJohn은 모든 로켓 발사에 대한 정보를 자동으로 수집, 최신의 로켓 발사에 대한 정보를 자동으로 수집하여 최신의 로켓 발사에 대해 간파할 수 있도록 하는 프로그램을 작성하고자 함 2.1.1 데이터 탐색데이터 수집을 위해 과거및 예정된 로켓 발사 데이터를 수집하는 온라인 저장소 Launch Library 1를 사용Launch Library2는 누구나 사용할 수 있는 오픈 API 2.1.2 첫번째 Airflow DAG 작성Airflow를 사용하면 하나 이상의 단계로 구성된 대규모 작업을 개별 태스크로 분할하고 DAG로 작성할 수 있음다중 태스크를 병렬로 실행하며 서로 다른 기술 사용 가능 Airflow에서 John의 ..
1. docker-compse.yaml 파일 다운로드 받기 https://airflow.apache.org/docs/apache-airflow/2.9.3/docker-compose.yaml에서 우클릭을 통해 docker-compose.yaml 파일을 다운로드 받는다. yaml 파일에 정의되어 있는 것들airflow-scheduler- 스케줄러는 모든 작업과 DAG를 모니터링하고, 종속성이 완료되면 작업 인스턴스를 트리거airflow-webserver- 웹서버는 http://localhost:8080 에서 이용 가능 airflow-worker- 스케줄러가 지정한 작업을 실행하는 작업자airflow-triggerer- 트리거는 연기 가능한 작업에 대한 이벤트 루프를 실행airflow-init- 초기화 서..
Airflow의 주요 기능 유연한 파이썬 프레임워크를 사용, 쉽게 데이터 파이프라인을 구축서로 다른 기술을 연결하는 다양한 빌딩 블록 제공 다양한 분산 시스템에서 발생하는 작업 조율 1.1 데이터 파이프라인 소개 데이터 파이프라인원하는 결과를 얻기 위해 실행되는 여러 태스크 구성 1. 1. 1 데이터 파이프라인 그래프 데이터 파이프라인을 그래프로 표현하면 태스크 간의 의존성을 확인 가능해당 형태의 그래프는 방향성을 가지므로 방향성 그래프라고 하기도 함위와 같은 형태의 그래프를 일반적으로 방향성 비순환 그래프(Directed Acyclic Graph, DAG) 라고 부름그래프는 화살표 비방향성의 끝점을 포함하나, 반복이나 순환을 허용하지 않음순환 속성을 가지게 될 경우, 순환 의존성으로 인한 문제가 발생..
1. ELK 스택이란? ElasticSearch, Logstash, Kibana의 줄임말,데이터를 수집하고 빠르게 검색하고, 데이터 무더기에서 쓸만한 정보를 보기 좋게 시각화 하는 것을 목표로 함 Logstash데이터 형태에 구애 받지 않고 데이터를 ElasticSearch에 수집해주는 역할 Kibana데이터 시각화 툴, 엘라스틱서치에 적재된 데이터를 화면에 보여주는 역할 2. ElasticSearch 기본 개념정리 엘라스틱서치 vs 관계형 DB 엘라스틱서치textDocumentJohndoc1, doc2databasedoc1, doc3키워드가 어떤 document에 있는 지를 저장 검색 시, 검색한 키워드가 있는 문서를 바로 반환 가능 like 해시 테이블, 매우 빠름 관계형 DBdocumentc..