본문 바로가기

Study96

Airflow 1.개요1)개요 =>데이터 파이프라인은 원하는 결과를 얻기 위해 실행되는 여러 태스크 또는 동작으로 구성 =>실시간 날씨 대시보드 구현 -작업 과정   다른 시스템의 날씨 API를 통해서 일기예보를 데이터 가져오기   서비스 목적에 맞도록 데이터 정제 및 변환    변환된 데이터를 날씨 대시보드로 전송-파이프라인은 간단한 3개의 다른 태스크로 구성 이 태스크들은 정해진 순서대로 진행되어야 합니다 데이터 변환 전에 새로운 데이터를 대시보드로 전송하거나 하면 안됩니다 =>대다수의 파이프라인 구성은 이렇게 암묵적인 태스크 순서가 있습니다. 2)데이터 파이프라인 그래프 =>태스크 사이의 의존성을 명확하게 확인하는 방법 중 하나가 데이터 파이프라인을 그래프로 그리는 것 =>그래프에서 태스크는 노드로 표시되고 태스.. 2024. 5. 28.
ECR,ECS을 활용한 server 배포 + CI/CD (Django) 1.Python Web 애플리케이션 ECS 배포1)python가상환경 생성python -m env myvenvmyvenv/Scripts/activate  2)이미지 생성을 위해 project root 디렉토리  Dockerfile 작성FROM --platform=linux/amd64 python:3.8-slim-buster as buildRUN apt-get update \ && apt-get install -y --no-install-recommends \ postgresql-client \ && rm -rf /var/lib/apt/lists/*WORKDIR /usr/src/appCOPY requirements.txt ./RUN pip install -r requ.. 2024. 5. 24.
client 배포 + CI/CD (React 파일 S3에 업로드) 1.Client 배포1)배포 방법=>웹 클라이언트는 정적 파일의 집합이라서 S3와 같은 스토리지 (파일에 URL을 이용해서 접근이 가능)를 이용할 수 있음비용이 저렴해서 S3을 많이 이용.CloudFront 를 연결할 수 있음=>웹 클라이언트도 도커 이미지로 만들어서 컨테이너로 배포할 수 있음 2)S3에 CI/CD 를 이용해서 배포=>준비- 버킷을 준비: 외부에서 업로드 가능(버킷을 만들고 정책을 수정)하도록 설정정적 웹 호스팅이 가능(속성 탭에서 정적 웹 호스팅 속성을 활성화)하도록 생성  => [권한] 탭에 [버킷 정책] 수정{ "Version": "2012-10-17", "Statement": [ { "Sid": "PublicListGet", .. 2024. 5. 24.
데이터 변환 1.개요=>ELT(Extract Load Transfom) 패턴에서 데이터가 데이터 레이크 (필터링 되지 않은 데이터) 또는 데이터 웨어하우스( 나에게 필요한 - 필터링이 된 데이터, 데이터 웨어하우스가 규모가 작으면 데이터 마트)로 수집되면 파이프라인의 다음 단계는 데이터 변환 =>데이터 변환에는 비문맥적 데이터 조작과 비지니스 컨텍스트 및 논리를 염두에 둔 데이터 모델이 모두 포함됨 =>파이프라인의 목적이 비지니스 통찰력 또는 분석을 하는 것이라면 비문맥적 변환 외에 데이터 모델링 추가 되어야 합니다 =>데이터 모델은 데이터 분석을 위해 이해되고 최적화된 방식으로 데이터를 정형화하고 정의하는 것=>데이터 모델은 데이터 웨어하우스에서 하나 이상의 테이블로 표시DataFrame 을 공부하는 이유- Dat.. 2024. 5. 22.
데이터 수집 1.데이터 수집1)수집 방법 =>데이터베이스에서 수집 =>플랫 파일(텍스트 파일) 등에서 수집 =>센서 등의 데이터를 Kafka 와 같은 실시간 스트림을 이용한 수집 2)데이터 수집 =>읽어온 데이터를 데이터웨어하우스에 저장하는 작업 =>예전에는 데이터 센터의 데이터베이스에 저장하는 것이 일반적이었지만 최근에는 클라우드 환경에 많이 저장2.MySQL 의 데이터를 S3 버킷에 csv 파일로 저장1)추출 방법=>전체 추출: 스냅샷을 이용한 추출마지막 데이터의 복사본 저장 =>증분 추출: 트랜잭션을 이용한 추출첫번째 데이터와 변경 내용 저장 2)전체 추출 과 증분 추출의 트레이드 오프=>마지막 데이터의 결과를 복원하고자 하는 경우는 전체 추출이 빠름=>전체 추출은 중간 과정을 저장 할 수 없음 3)추출 준비=.. 2024. 5. 21.
Kafka(2) **Kafka - Message Broker =>구독 과 게시의 개념을 가지고 한쪽에서 구독 신청을 하면 다른 한쪽에 특정 이벤트가 발생할 때 메시지를 발행해서 게시를 신청한 쪽에 메시지를 전달하는 시스템 =>메시지를 데이터로 활용해서 여러 데이터 발생지로부터 데이터를 받아서 타겟에게 전달하는 용도로 사용할 수 있고 특정 이벤트가 발생했을 때 작업을 순차적으로 수행하도록 사용할 수 도 있습니다. =>CQRS를 구현한 프로젝트에서 데이터 업데이트를 수행하는 애플리케이션 과 데이터 조회를 수행하는 애플리케이션 사이의 데이터 불일치 문제를 해결하기 위해서 데이터에 업데이트가 발생하면 업데이트 된 데이터를 조회 애플리케이션에게 전송해서 조회 애플리케이션의 데이터 불일치를 문제를 해결하기 위해서 사용 1.카프카 .. 2024. 5. 12.