Redshift

AWS

[AWS REDSHIFT] AIRFLOW S3 → Redshift UPSERT 관련 에러('syntax error at or near "#"')

먼저 이 글은 저와 같이 REDSHIFT를 AIRFLOW와 연동해서 쓸 때 생기는 문제에 관한 글입니다. 문서가 너무 없고, 저만 겪는 상황 같아서, 열심히 삽질한 결과 작성해놓습니다. 이 글을 읽어보실 분들의 조건은 다음과 같습니다. 1. 에러 상황 (1) Redshift Cluster 사용 (2) Delimited identifiers를 사용하지 않으면, Syntax Error가 발생하는가? (3) Airflow S3ToRedshiftOperator를 사용해서, UPSERT 방식으로 데이터를 redshift에 로드하려고 하는가? (4) Schema, Table 명을 Delimited identifiers를 사용해서 구성했는가? 여기까지 오셨으면 저랑 같은 상황입니다.. 일단 웹에 관련 정보는 없어서 ..

데이터 엔지니어링/실리콘밸리에서 날아온 데이터엔지니어링 스타터 키트

[4주차] AIRFLOW FULL REPRESH 예제(+ Incremental Update 맛보기)

이번 포스팅은 AIRFLOW의 FULL REPRESH를 연습해보기 위한 예제로 OPENWEATHER API를 활용합니다! https://openweathermap.org/api/one-call-api One Call API: weather data for any geographical coordinate - OpenWeatherMap Make just one API call and get all your essential weather data for a specific location with our new OpenWeather One Call API 2.5. Easy migration from the Dark Sky API. The One Call API 2.5 provides the followin..

데이터 엔지니어링/실리콘밸리에서 날아온 데이터엔지니어링 스타터 키트

[4주차] AIRFLOW 활용 데이터 적재(FULL REPRESH)

FULL REFRESH 상황 가정 데이터 적재 FULL REFRESH란 테이블에 있는 모든 정보를 삭제하고, 다시 INSERT하는 방식으로 보통 데이터의 크기가 크지 않거나, 스케줄의 실행 시간을 보고 판단합니다. 보통 FULL REFRESH가 가지는 장점은, BACKFILL(AIRFLOW의 TASK 중 일부 혹은 전체 DAG의 오류를 복구시키는 작업) 과정이 굉장히 단순하고 유지보수에 들이는 자원이 굉장히 작다는 점입니다. 보통은 FULL REPRESH를 쓰는 것이 좋지만, 아래의 경우에는 INCREMENTAL UPDATE로 전환합니다. 1시간 주기로 돌아야하는 DAG의 RUNNING TIME이 30분 이상 소요될 경우 하루 주기로 돌아야하는 DAG의 RUNNING TIME이 반나절 이상 소요될 경우 ..

데이터 엔지니어링/데이터베이스 및 운영체제

데이터베이스 연동 자바 프로그래밍

JDBC 데이터 베이스와 자바를 연결하는 드라이버 자바 오브젝트 정보 -> JDBC 드라이버가 커넥션, 커넥션해제, 데이터를 보내고 받고 하는 일련의 처리 과정을 중간에서 대신 해줌 설치 경로 : 오라클 내에 C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib 폴더 접속 복사 후 자바 프로젝트 안에, libs 폴더 생성, ojdbc.jar 파일 넣기 이클립스 프로젝트에서 build path 시작 자바 코드 package Mycom.mytest; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import..

데이터 엔지니어링/실리콘밸리에서 날아온 데이터엔지니어링 스타터 키트

REDSHIFT(AWS)

REDSHIFT는 AWS의 확장 가능한 SQL 엔진(데이터 웨어하우스) 서버 클러스터에서 최대 2 페타바이트의 데이터 제공 OLAP 응답 시간은 1초 미만이 아님 고객 대면 서비스에서 사용하면 안됨 COLUMNAR STORAGE(열 기준 저장소) 테이블에서 열을 추가, 삭제하거나 이름을 변경하는 작업이 매우 빠름 열 당 압축(PER COLUMN COMPRESSION)이 사용됨 BULK-UPDATE 지원 CSV/JSON 파일을 S3에 업로드 -> S3에서 REDSHIFT로 복사 고정 용량 SQL 엔진 모든 데이터웨어하우스는 데이터의 크기, 속도 때문에 모든 PRIMARY키를 보장하지 않는다 POSTGRESQL 8.X와 호환 다음 서비스와 완벽한 통합 S3, EMR, KINESIS, DYNAMODB, RDS..

데이터 엔지니어링/실리콘밸리에서 날아온 데이터엔지니어링 스타터 키트

데이터엔지니어, 데이터웨어하우스

데이터 엔지니어의 역할 데이터 웨어하우스 관리 데이터 파이프라인 구축 및 관리 데이터 파이프라인 = ETL(EXTRACT, TRANSFORM, LOAD) = DATA JOB = DAG 데이터 파이프라인의 형태 배치 프로세스(BATCH PROCESSING) VS 실시간 프로세스(REALTIME PROCESSING) 요약 데이터 생성(DBT - ANALYTICS ENGINEER) 이벤트 수집(EVENT COLLECTION) 유저 행동 데이터 데이터 엔지니어가 알아야할 기술들은? SQL : HIVE, PRESTIO, SPARK SQL, ... PROGRAMMING LANGUAGE : PYTHON/SCALA/JAVA ETL/ELT SCHEDULER : AIRFLOW LARGE SCALE COMPUTING PLA..

우상욱
'Redshift' 태그의 글 목록