일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- docker-compose
- docker
- selenium
- Hive
- airflow
- Serializer
- dag
- 데이터파이프라인
- SQL
- snowflake
- redshift
- airflow.cfg
- 데이터레이크
- ETL
- Django Rest Framework(DRF)
- 컨테이너 삭제
- docker hub
- 데이터 웨어하우스
- ELT
- 웹 스크래핑
- Kafka
- Django
- AWS
- 알고리즘
- dag 작성
- yarn
- 데이터마트
- spark
- truncate
- 웹 크롤링
- Today
- Total
목록분류 전체보기 (67)
개발 기록장

학습 주제: OTLP 테이블 복사, Backfill 실행테이블 복사: MySQL 테이블(OLTP) -> 데이터웨어하우스(Redshift; OLAP)설정S3와 MySQL 정보S3 버킷 이름MySQL 서버 연결 정보(Host, Schema, Login, Password, Port)AWS 관련 권한 설정Airflow DAG에서 S3 접근: 쓰기권한IAM User을 만들고 S3버킷에 대한 읽기/쓰기 권한 설정, Access key와 Secret key 사용Redshift가 S3 접근: 읽기권한Redshfit에 S3를 접근할 수 있는 역할(Role)을 만들고 이를 Redshift에 지정MySQL Connections 설정Connection Id, Connection Type(Mysql), Host, Schema,..

학습 주제: Airflow, DAG 작성, Primary Key Uniqueness, BackfillOpen Weathermap DAGOpen Weathermap API 소개위도/경도를 기반으로 그 지역의 기후 정보를 알려주는 서비스무료 계정으로 api key를 받아서 이를 호출시에 사용DAG 구현 살펴보기Open Weathermap의 one call API를 사용해 서울의 다음 8일간의 낮/최소/최대 온도를 읽어다가 각자 스키마 밑의 weather_forecast라는 테이블로 저장https://openweathermap.org/api/one-call-api 호출해서 테이블을 채움weather_forecast라는 테이블이 대상이 됨유의할 점) created_date은 레코드 생성시간으로 자동 채워지는 필..
Airflow.cfg는 Apache Airflow의 설정 파일이다. 이 파일은 Airflow의 동작을 제어하는 다양한 옵션들을 포함하고 있으며, Docker위에서 동작하고 있는 Airflow 기준 opt 파일 아래에 위치한다. 간략하게 airflow.cfg에 대해 살펴본 바를 정리해 보려고 한다.설정파일 주요 사항DAGs 폴더는 어디에 지정되는가?dags_folder = /opt/airflow/dags : 기본적으로 Airflow가 설치된 디렉토리 아래에 dags 폴더가 되며, dags_folder 키에 저장됨DAGs 폴더에 새로운 DAG를 만들면 언제 Airflopw 시스템에서 이를 알게 되나? 또 이 스캔 주기를 결정해주는 키의 이름?dag_dir_list_interval = 300 : 기본값은 ..

학습 주제: Airflow, DAG 작성Task 정의 및 실행Dag를 구성하는 Task를 정의하고 실행하는 방법은 크게 두 가지가 있음Operators - PythonOperatorAirflow DecoratorsOperators - PythonOperator전통적인 방법으로 Task를 정의하고 실행함수와 태스크 정의가 분리됨주요 구성python_callable: 실행할 Python 함수 호출task_id: 태스크의 IDdag: 이 태스크가 속한 DAGprovide_context: 함수에 Airflow 컨텍스트 변수를 전달할지 여부 (기본값은 False)from airflow.operators.python import PythonOperatorload_nps = PythonOperator( dag ..

학습 주제: SQL 트랜잭션, Airflow 설치, Airflow 기본 프로그램, DAGSQL 트랜잭션데이터 웨어하우스에서틔 테이블 업데이트 방법Full Refresh단순하지만 데이터가 커지만 사용 불가능데이터 업데이트 전 원래의 테이블 데이터를 전부 비우고 다시 저장Incremental Update데이터가 클 경우 효과적이나 복잡도 증가보통 타임스탬프 또는 일련 번호 등의 필드 필요execution_date 활용트랜잭션중간에 실패하면 불완전한 상황에 놓이는 작업이 존재할 때ETL 과정에서 Full Refresh 상황을 가정하면, 테이블 내용은 삭제되었는데 데이터가 정상적으로 저장되지 않을 때Atomic하게 실행되어야 하는 SQL들을 묶어 하나의 작업처럼 처리하는 방법BEGIN과 END 또는 BEGIN과..

학습 주제: 데이터 파이프라인, Airflow, ETL, ELT, DAG데이터 파이프라인 소개: 데이터 파이프 라인 혹은 ETL로 알려진 프로세스용어 설명: ETLETL: Extract, Transform and Load데이터를 데이터 웨어하우스 외부에서 내부로 가져오는 프로세스보통 데이터 엔지니어들이 수행Data Pipeline, ETL, Data Workflow, DAGETL(Extract, Transform, and Load)Called DAG (Directied Acyclic Graph) in Airflow용어 설명: ELT데이터 웨어하우스 내부 데이터를 조작해서(보통은 더 추상화되고 요약된) 새로운 데이터를 만드는 프로세스보통 데이터 분석가들이 많이 수행이 경우 데이터 레이크 위에서 이런 작업이..

학습 주제: 다양한 시각화 툴, Superset 소개 및 실습, MAU 차트, Cohort 차트다양한 시각화 툴시각화 툴대시보드 또는 BI(Business Intelligence) 툴이라고 부르기도 함KPI(Key Performance Indicator, 지표, 중요한 데이터 포인트들을 데이터 기반으로 계산/표시/분석 해주는 툴데이터 기반(Data-Driven Decision) 의사결정을 지원함현업 종사자들이 데이터 분석을 쉽게 할 수 있게 함시각화 툴의 종류Excel, Google, Spreadsheet: 가장 많이/쉽게 쓰이는 시각화 툴Python: 데이터 특성분석(EDA)에 더 적합EDA(Explordatory Data Analaysis): Data를 사용하기 전 데이터 특성에 대해 알아보는 것(e..

학습 주제: Snowflake, 운영/관리, 사용자 권한 설정, 실습, Data GovernanceSnowflake 운영과 관리Snowflake 소개2014년 클라우드 기반 데이터웨어하우스로 시작됨(2020년 상장)지금은 데이터 클라우드라고 부를 수 있을 정도로 발전글로벌 클라우드(AWS, GCP, Azure)위에서 모두 작동(멀티클라우드)Data Sharing/Marketplace 제공Data Sharing("Share, Don't Move"): 데이터 셋을 사내 혹은 파트너에게 스토리지 레벨에서 공유하는 방식Data Marketplace: 데이터 판매를 통해 매출 이익을 얻을 수 있는 기능ETL을 비롯한 다양한 데이터 통합 기능 제공대표 고객사: Siemens, Flexport, Iterable, A..