# redshift

69개의 포스트

데이터인프라 횡전개 후기

1. Intro - 고생길의 시작... 인티그레이션은 보건의료직군 대상으로 커뮤니티 서비스를 제공하고 있습니다. 메디스트림은 한의사(한의대생)을 대상으로한 종합 전문직 커뮤니티 플랫폼 서비스이고 모어덴, 치즈톡은 각각 치과의사(치대생)과 치과위생사(치위생대생)을 대상으로 한 서비스입니다. >인티그레이션의 모든 스쿼드(사업부)는 각각의 사업 지표를 실시간으로 확인 할 수 있는 대시보드 및 이를 디스플레이하는 공용 모니터를 가지고 있습니다. 이를 통해 데이터를 기반으로 논의하는 문화를 사업 초기부터 지금까지 중요한 가치로 여기고 실행하고 있습니다. 또한 각 사업부를 대상으로 정확한 데이터를 적시에 제공하는 일을 미션으로 하는 기능 조직인 데이터 전문팀이 있습니다. 데이터 팀은 DE, DS, DA,

2023년 9월 14일
·
3개의 댓글
·

[DE kit] 4. Airflow로 데이터 파이프라인 만들기

멱등성 한 번 수행, 여러 번 수행한 결과가 같다. (ex:어떤 수에 1을 곱하는 연산은 여러 번 수행해도 처음 수행과 결과가 같으므로 멱등하다.) 데이터 파이프라인이 연속 실행되었을 때 소스에 있는 데이터가 그대로 DW로 저장되어야함을 이야기 (소스 데이터 = DW 데이터) No duplicates, no missing data source의 데이터와 DW의 데이터가 같아야 한다는 것 full refresh를 하는 데이터 파이프라인이라면? 먼저 Data Warehouse의 관련 테이블에서 모든 레코드를 삭제한다. Data Source에서 읽어온 데이터를 Data Warehouse 테이블로 적재한다. -> 이 과정을 SQL의 Transaction으로 묶어준다. (all or nothing) 1이 성공하고 2가 실패하는 경우, 1이 실행된 다음 누군가 이 테이블을 사용하는 경우 등 방지 가능 DELETE FROM / TRUN

2023년 7월 11일
·
0개의 댓글
·
post-thumbnail

6일차. 스토리지 및 데이터베이스

1. 인스턴스 스토어 인스턴스 스토어는 Amazon EC2 인스턴스에 임시 블록 수준 스토리지를 제공한다. 이 스토리지 볼륨은 물리적 하드 드라이브처럼 동작한다. 인스턴스 스토어는 물리적으로 EC2 인스턴스의 호스트 컴퓨터에 연결되어 있으므로 인스턴스와 수명이 동일하다. 즉, 인스턴스가 종료되면 인스턴스 스토어의 데이터는 소실된다. 2. Amazon Elastic Block Store(Amazon EBS) 1) 개념 Amazon EBS는 Amazon EC2 인스턴스에서 사용할 수 있는 블록 수준 스토리지 볼륨을 제공하는 서비스이다. 단, 인스턴스 스토어와 달리 Amazon EC2 인스턴스를 중지 또는 종료하더라도 연결된 EBS 볼륨의 모든 데이터를 사용할 수 있다. EBS 볼륨을

2023년 6월 26일
·
0개의 댓글
·
post-thumbnail

Redshift Serverless 기본 세팅

Redshift free trial 시작하기 Redshift 클러스터를 생성하는 것은 그 자체로 비용이 청구되지만 Redshift Serverless를 사용하게 되면 AWS에서 3개월 또는 300달러의 크레딧을 제공한다. 3개월동안 무료로 사용이 가능하지만 그 기간동안 크레딧 사용을 초과하게 되면 그 비용이 청구된다고 한다. Region별로 free trial이 가능해서 좀 번거롭지만 무료로 사용하고 싶다면 Region을 바꿔가면서 해도 될 것 같다. Free trial 시작버튼을 누르면 Redshift serverless 구성

2023년 6월 1일
·
0개의 댓글
·
post-thumbnail

8. Day 3-8

학습주제 redshift 중지, 제거 학습내용 중지 -> 고정비용만 가능. 가변비용은 없음 1~2주에 한번 maintenance window가 있어서 강제로 리스타트 시키는 일이 있음. 이거때문에 가끔 에러남 콘솔에 들어가면 찾을 수 있음 VACUUM 명령 뒤에 파라미터에 따라 다양한 명령 디스크 공간 할당이 되어있어 스캔 속도가 느려지는 경우 있음. SQL

2023년 5월 26일
·
0개의 댓글
·
post-thumbnail

7. Day 3-7

학습주제 SageMaker 실습 학습내용 Redshift-ml 지금 정책 1개지만 일단 먼저 생성 만든 역할을 눌러 다시 선택 정책을 1개 더 추가 정책 추가함 2개의 정책이 추가됨 양방향 정책

2023년 5월 26일
·
0개의 댓글
·
post-thumbnail

Redshift에서 데이터를 가져와서 Superset으로 대시보드 만들기

🤷‍♀️ Redshift를 데이터베이스로 사용하고 Superset에서 Redshift를 연결하여 데이터를 가져와 그 데이터를 바탕으로 차트(pivot table, line chart, column chart)를 생성하고 아래와 같은 대시보드를 만들어본다. Docker를 기반으로 Superset을 설치하여 진행하기 때문에 Docker를 설치가 되어있어야 한다. > Docker 설치 Docker desktop을 설치해야한다. https://www.docker.com/ 홈페이지에 바로 OS별로 설치파일이 있어 각 컴퓨터 사양별로 고르면 된다. Mac은 인텔칩, 애플칩으로 나뉜다. Docker 기반 Superset 설치 적당한 위치에 Superset의 Github rep

2023년 5월 26일
·
0개의 댓글
·
post-thumbnail

6. day 3-6

학습주제 Redshift ML 사용하기 sage maker 연동통해 간단한 ML 모델 학습내용 훈련 셋 https://docs.google.com/spreadsheets/d/10uf6mXraekS8wndxl9n_GYsOgA0SdUDhKlLXW9gOkdA/edit#gid=1364111700 머신러닝이란 배움이 가능한 알고리즘의 개발 개발자가 코드를 작성해서 만드는게 아니라 예제로부터 패턴을 알고리즘으로 알아내는 것 훈련데이터 - 트레이닝 셋 (지도학습) 훈련데이터가 없으면 비지도학습 비전, NLP 같은 처리가 있음. GPT가 나오면서 어느정도 쓸수 있는 기술로 바뀜. 인공지능 > 머신러닝 > 딥러닝 ![](https://velog.velcdn.com/images/kjw9684/post/b359cf1b-5

2023년 5월 26일
·
0개의 댓글
·
post-thumbnail

5. Day 3-5

학습주제 외부테이블을 이용한 Redshift 실습 학습내용 AWSGlueConsole IAM을 달아줘야함 s3fullaccess에 GlueConsoleFullAccess를 추가함 권한을 추가하였다. 이로써 redshift에서 외부 테이블을 접근할 수 있는 권한이 생김 ![](https://velog.velcdn.com/images/kjw9684/post/abfde581

2023년 5월 26일
·
0개의 댓글
·

spark redshift

package 설치 databricks에 관련된 package를 설치한다. spark 폴더에서 실행(폴더 내부에 bin 폴더가 있을 것) jar 파일 다운로드 이 부분은 필수가 아닐수도 있음 redshift 관련 jar 파일을 다운 받고 conf에 extraClassPath로 경로를 지정한다. conf에 대한 설정은 spark s3 참조. 실행 JDBC URL은 redshift -> 작업 그룹에서 확인 가능 dbtable은 스키마.테이블로 미리 create table로 작업해야 함 user, password는 redshift 작업 그룹 생성 과정에서 만든 것 사용 redshift 준비 작업 환경은 colab

2023년 5월 26일
·
0개의 댓글
·
post-thumbnail

4. day 3-4

학습주제 Redshift Spectrum으로 S3 외부테이블 조작해보기 학습내용 S3에 굉장히 큰 데이터가 있는데 이를 Redshift로 로딩하기가 버겁다면 이를 외부 테이블로 설정해서 Redshift에서 조작이 가능하다. S3에 굉장히 큰 데이터가 있고, Redshift로 로딩하는건 비용이 더 나올 수도 있음. 퀄리티가 떨어질 수도 있음. 이에 S3 파일들을 External 테이블로 간주해서 마치 레드쉬프트 내부 테이블로 간주해서 정제할 수 있음. AWS 아테나를 쓰면 S3 파일 정제해서 레드쉬프트로 정제해서 올릴 수 있음. 차이점이라면 레드쉬프트 클러스터에서 접근하는게 아니라 외부에서 자체적으로 Fact, Dimension 테이블 Fact 테이블: 굉장히 큰 데이터, 분석의 초점이 되는 양적 정

2023년 5월 26일
·
0개의 댓글
·
post-thumbnail

3. Day 3-3

학습주제 Redshift 기타 서비스 학습내용 Redshift Spectrum(s3 큰 파일을 외부 테이블로 사용할 수 있게함) Redshift Serverless Athena (별도 서비스. 스펙트럼과 많은 유사성이 있음.) 아파치 프레스토 Redshift ML > 아파치 프레스토는 오픈 소스 분산 SQL 쿼리 엔진입니다. 이는 대량의 데이터를 처리하고 분석하기 위한 고속 및 확장 가능한 도구입니다. 프레스토는 대용량 데이터 웨어하우스와 데이터 레이크에서 작동하며, 복잡한 분석 작업을 수행할 수 있습니다. 프레스토는 ANSI SQL을 지원하며, 다양한 데이터 소스에 연결할 수 있는 플러그인 아키텍처를 가지고 있습니다. 이를 통해 프레스토는 다양한 데이터 형식과 데이터베이스 시스템과의 상호 운

2023년 5월 26일
·
0개의 댓글
·
post-thumbnail

2. Day 3-2

학습주제 Redshift 백업과 테이블 복구 학습내용 가변비용, 고정비용에서 조금 다름 스냅샷이라고 부름. 자동백업 메뉴얼 백업. 변화양에 따라 잡힐수도 있고, 8시간마다 잡힐수 있고, 다 다름 과거 시점의 내용을 가지고 새로운 클러스터를 만들 수 있음 스냅샷은 인크리멘탈한 특징 - 변경된 부분만 저장 백업의 크기가 크지 않음 테이블 리스토어 기능 자동 백업 기본 하루 유지 최대 35일까지 백업으로 유지하게 할수 있음 같은 지역의 S3에 저장 재난상황을 가정했을 때, 같은 지역에 S3 백업이라면 별 의미가 없을 수 있음. 다른 지역에 S3에 복제할 수 있음. 자동 백업 ![](https://velog.velcdn.com/images/kjw9684/post/39a6796b-289a-4b6c-95be-7

2023년 5월 25일
·
0개의 댓글
·
post-thumbnail

1. Day 3-1

학습주제 Redshift 고급 기능 실습 학습내용 권한과 보안 백업과 테이블 복구 관련 기타 서비스. 스펙트럼, 머신러닝, 아테나 Spectrum으로 S3 외부 테이블 조작 ML 사용하기(sage maker로 패키징 한 다음 레드쉬프트에서 sql 호출해서 쓸 수 있음. 함수처럼 호출할 수 있음) 중단/제거하기 IAM 기능을 알아보자 사용자에게 원

2023년 5월 25일
·
0개의 댓글
·
post-thumbnail

5강. Day 2-5

학습주제 Redshift COPY 실습 학습내용 외부 소스를 다운로드 s3 생성 후 외부 소스 업로드 IAM 역할 생성 클러스터에 역할 부여 구글 콜랩에서 COPY 실습 s3 콘솔로 이동 리전은 레드쉬프트를 생성한 같은 리전으로 선택 (오레곤) 기본 선택 다 기본 선택 후 버킷 생성 ![](https://velog.velcdn.com/images/kjw9684/pos

2023년 5월 25일
·
0개의 댓글
·
post-thumbnail

4강. Day 2-4

학습주제 Redshift COPY 명령으로 테이블레 레코드 적재하기 AWS IAM Role 사용 학습내용 목표 COPY로 레코드 적재 CSV s3에 생성 레드쉬프트 s3 접근권한 생성 S3, IAM 에 대한 간단한 학습도 테이블 만들기 raw_data 스키마를 통해 아 이 테이블은 외부 소스를 ETL 통해 가져왔다는 것을 알 수 있음. AWS에

2023년 5월 25일
·
0개의 댓글
·
post-thumbnail

3강. Day 2-3

학습주제 redshift 초기 설정 학습내용 스키마, 그룹, 유저, 역활 등을 생성 테이블을 관리하기 위해 이중 구조를 가짐 스키마, 데이터베이스라고도 부름. 폴더 같은 컨셉 바로 테이블을 만드는게 아니라 스키마를 먼저 만들어 구역을 나눔 raw_data ETL 통해 외부에서 가져온 소스 analytics ELT를 통해 기존 테이블들을 조합해 새로운 테이블 만듦 adhoc 개발용. 테스트용 pii 데이터 활용이 고도화되면 사용자의 개인정보를 활용하는 경우가 있는데, 노출이 되면 엄청난 패널티가 있음. 왠만하면 사용하지 않는게 좋음. 사용한다면 별도의 스키마 생성. 이 테이블에 엑세스할 수 있는 사람은 최소로 하고, 로깅을 남겨놔 감사할 수 있게 해둬야 함. 각자 자기 용도에 스키마를 만들 수

2023년 5월 25일
·
0개의 댓글
·
post-thumbnail

2강. Day 2-2

학습주제 redshift 설치 학습내용 serverless 사용 3달 혹은 300불까지 무료 불필요시 꼭 셧다운해야함 나는 redshift를 써서 그런가 trial이 안뜬다. 굳이 서울을 쓸 필요는 없다 US 오리곤을 선택 레드쉬프트의 고정비용은 더이상 무료비용 제공 X 꼭 300불 되기 전에 셧다운해야함 ![](https://velog.velcdn.com/image

2023년 5월 25일
·
0개의 댓글
·
post-thumbnail

1강. Day 2-1

학습주제 Redshift 학습내용 특징 소개 설치(serverless, Trial) - 최대 3달 혹은 300불 초기 설정(스키마, 그룹, 유저) COPY(벌크 업데이트) 명령으로 테이블에 레코드 적재 AWS S3 버킷 생성. IAM 부여 구글 콜랩에서 연결해서 진행 고급 기능 권한, 보안, 백업, 테이블 복구, s3 외부데이터를 내부데이터 처럼 사용. 중단, 제거 클라우드 기반 빅데이터 웨어하우스 ![](https://velog.velcdn.com/images/kjw9684/post/ad4f3f5c-865f-4323-bb0e-

2023년 5월 25일
·
0개의 댓글
·
post-thumbnail

[AWS RedShift] 8. Redshift Spectrum으로 S3 외부 테이블 조작

📌 Redshift Spectrum으로 S3 외부 테이블 조작해 보자 1. Redshift IAM role에 AWSGlueConsoleFullAccess 권한 추가 먼저 이전 포스트에서 만든 redshift.read.s3 역할(role)에 추가적으로 AWSGlueConsoleFullAccess 권한을 주어야 한다. [AWS RedShift] 6. 벌크 업데이트 (Bulk Update) 구현 - 이전 포스트 참고 IAM 대시 보드에서 역할 -> redshift.read.s3를 선택해 준다. 그러면 다음과 같이 해당 역할에 부여된 권한 정책

2023년 5월 24일
·
0개의 댓글
·