S3

Data Engineering/Airflow

[Airflow] S3ToRedshiftOperator 사용 예시

S3ToRedshiftOperator 사용 예시Airflow에서 S3에 존재하는 파일을 Redshift로 COPY 하는 방법은 크게 두 가지 방식이 있다. S3ToRedshiftOperator는 파라미터 정보만 적어주면 되므로 실제 쿼리 작업이 필요한 Hook 사용 방식보다 간편하게 사용할 수 있다. S3Hook과 PostgresHook을 활용해 S3와 Redshift를 각각 연결한 뒤 COPY Query 실행S3ToRedshiftOperator를 사용한 간단하게 COPYS3ToRedshiftOperator 사용 예시라이브러리 선언from airflow.providers.amazon.aws.transfers.s3_to_redshift import S3ToRedshiftOperatorS3ToRedshift..

Infra/[인프라 구축기] Terraform 활용 AWS 인프라 구축

인프라 구축기 (12) - S3에 있는 Terraform 상태 파일 활용하기

인프라 구축기인프라 구축기 (9)에서 Terraform의 .tfstate 파일을 삭제하는 이슈가 있었다. 이때 배운 것 중 하나가 원격 저장소를 활용한 Terraform 상태 파일 관리였다. 그래서 원격 저장소인 AWS S3에 상태 파일을 두고 사용하는 방법을 살펴보고, 작성 중인 Terraform 코드에 적용해볼 것이다. 인프라 구축기 (9) - Terraform terraform.tfstate 삭제 이슈인프라 구축기Terraform으로 aws 인프라를 지속적으로 관리하던 중 큰 문제 하나를 마주쳤다. 실수로 Terraform의 상태 파일인 terraform.ftstate를 삭제한 것이다. 이번 글에서는 해당 이슈를 해결한 과정sanseo.tistory.com각 디렉터리에 terraform.tf 파일 ..

Data Engineering/Airflow

[Airflow] data_interval_start를 활용한 File System Partitioning 적용

data_interval_start를 활용한 File System Partitioning적용데이터 파일을 S3에 저장을 하는 로직을 구현하기 위해 파일 명을 "0000_{data_interval_start}.parquet"으로 설정하는 방법을 탐색하였다. data_interval_start와 같은 Airflow 내부 시간에 대해 알고 싶다면 아래의 링크에서 확인 가능하다. [Airflow] DAG Scheduling과 ExecutionAirflow Scheduling과 Execution개요Airflow 관리Airflow를 사용하면서 반드시 알아야 할 것이 "작성한 DAG가 언제, 얼마나 실행되는가?"일 것이다. Airflow에서는 관련 개념을 숙지하지 않으면, 해당 DAG의 실행sanseo.tistory..

Data Engineering/Airflow

[Airflow] Redshift COPY 시 잘못된 timestamp 값이 적재되는 문제

Redshift COPY 시 잘못된 timestamp 값이 적재되는 문제Airflow의 S3ToOperator를 사용해 S3 버킷에 저장된 .parquet 파일을 Redshift에 COPY를 진행하였는데, 다른 모든 값은 모두 올바르게 적재되었음에도 timestamp 형식을 가진 컬럼만 잘못된 값이 적재되었다. 이 문제를 해결하기 위한 과정을 적어보려 한다.데이터 처리 방식 (ETL)우선 이슈가 발생했을 때의 S3에 적재되는 .parquet의 ETL 과정을 나타내 본 뒤 본격적으로 해결 과정을 알아보자.데이터 추출 (Extract)서울 도시데이터 API 호출을 통해 Json 형태의 데이터 추출데이터 변형 (Transform)추출한 데이터 (Json)를 가져와 필요한 데이터를 리스트 형태로 변경여기서 리스..

기억에 남는 블로그 닉네임
'S3' 태그의 글 목록