기록 블로그

전체 글 73

Google Cloud Scheduler로 Cloud Functions 실행하기 (HTTP)

Cloud Scheduler 주요 메모 사항 이전에 작성한 Cloud Functions 함수를 crontab 처럼 스케줄링 하는 작업 이전에 작성한 Cloud Functions Google Cloud Functions로 공공데이터 openAPI를 사용해 Cloud Storage로 적재 (Python) 학습 주제 주요 메모 사항 과정을 설명하기 이전에 해당 서비스를 사용하게된 계기를 설명 프로젝트를 진행하는 과정에서 주기적으로 데이터를 가져오는 과정이 필요했었음 Cloud Functions을 사용 usiohc.tistory.com Cloud Scheduler 작성 1. 작업 만들기를 클릭 2. 작업 구성 진행 2-1 먼저 해당 스케줄러의 일정을 정의해야 한다 2-1-1. 이름과 설명을 본인에게 맞춰서 작성..

GCP 2023.06.06

06/06 42일차 데이터 파이프라인과 Airflow (2)

Airflow 설치, 실행 주요 메모 사항 어제 작성한 ETL을 개선하는 방법이 숙제로 있었는데, 해당 숙제를 해결하는 방법과 코드리뷰 정도 잠깐 진행 트랜잭션 계속해서 해주시던 얘기도 포함되어 있어서 짧게 요약 autocommit = True or False ? 조직, 또는 같이 일하는 사람들 모두가 편한 방식으로 Python의 경우 try/catch 와 같이 사용하는 것이 일반적 아래와 같은 코드가 있다고 가정, exception이 발생한다면? try: cur.execute(create_sql) cur.execute("COMMIT;") except Exception as e: cur.execute("ROLLBACK;") ->불완전한 에러 처리의 위험성! except에서 raise를 호출하면 발생한 원..

06/05 41일차 데이터 파이프라인과 Airflow (1)

데이터 파이프라인과 Airflow 주요 메모 사항 용어 설명: ETL ETL: Extract, Transform and Load Data Pipeline, ETL, Data Workflow, DAG ETL (Extract, Transform, and Load) Called DAG (Directed Acyclic Graph) in Airflow ETL vs ELT ETL: 데이터를 데이터 웨어하우스 외부에서 내부로 가져오는 프로세스 보통 데이터 엔지니어들이 수행함 ELT: 데이터 웨어하우스 내부 데이터를 조작해서 (보통은 좀더 추상화되고 요약된) 새로운 데이터를 만드는 프로세스 보통 데이터 분석가들이 많이 수행 이 경우 데이터 레이크 위에서 이런 작업들이 벌어지기도 함 이런 프로세스 전용 기술들이 있으며 ..

Google Cloud Functions로 공공데이터 openAPI를 사용해 Cloud Storage로 적재 (Python)

ETL 주요 메모 사항 과정을 설명하기 이전에 해당 서비스를 사용하게된 계기를 설명 프로젝트를 진행하는 과정에서 주기적으로 데이터를 가져오는 과정이 필요했었음 Cloud Functions을 사용한 경험이 없어서 고전적이지만 확실하게 마무리할 수 있는 방법을 채택 VM 인스턴스를 만들어서 해당 서버에서 crontab과 인스턴스 일정 기능을 사용해 데이터를 적재해왔음 3번 과정을 Cloud Functions을 사용해 구현 프로젝트 진행 과정 링크 로컬에서 스크립트를 완성하고 Cloud Functions에 배포하면서 진행 작업 폴더에서 새로운 가상환경 생성 (requirements.txt 작성을 위함 -> Cloud Functions는 사용하는 리소스에 따라서 비용이 측정되는데, 스크립트를 실행하는데 있어서 ..

GCP 2023.06.04

05/29 ~ 06/02, 36~40일차 2번째 프로젝트

유시동물 대시보드 주요 메모 사항 1일차 진행 목록 OpenAPI 유기동물데이터를 서드파티의 개념으로 지정하고 일마다 데이터를 Cloud Storage에 적재하는 작업 내부적인 대시보드를 위한 Superset을 GKE에 설치 (팀원) 외부로 서비스할 웹을 firebase hosting을 사용해 react로 호스팅 (팀원) OpenAPI 유기동물 데이터 중 변하지 않는 데이터들을 Cloud Storage에 적재 (팀원) 시도 조회, 시군구 조회, 보호소 조회, 품종 조회는 사실 변할 이유가 없음 RDB의 개념으로 보자면 부가적인 테이블임 필자는 진행 목록 중 1번을 진행, 먼저 생각난 2가지의 방법은 이렇다. VM 인스턴스를 하나 만들어 서버에서 Crontab을 사용해 데이터를 적재하는 방법 Cloud F..

05/26 35일차 데이터 웨어하우스 관리와 고급 SQL과 BI 대시보드 (5)

대시보드, BI 주요 메모 사항 시각화 툴이란? 대시보드 혹은 BI(Business Intelligence)툴이라고 부르기도 함 KPI (Key Performance Indicator), 지표, 중요한 데이터 포인트들을 데이터를 기반으로 계산/분석/표시해주는 툴 결국은 결정권자들로 하여금 흔히 이야기하는 데이터 기반 의사결정을 가능하게함 데이터 기반 결정 (Data-Driven Decision) 데이터 참고 결정 (Data-Informed Decision) 현업 종사자들이 데이터 분석을 쉽게 할 수 있도록 해줌 시각화 툴 종류 Excel, Google Spreadsheet: 사실상 가장 많이 쓰이는 시각화 툴 Python: 데이터 특성 분석(EDA: Exploratory Data Analysis)에 더 ..

05/25 34일차 데이터 웨어하우스 관리와 고급 SQL과 BI 대시보드 (4)

Snowflake 주요 메모 사항 Snowflake 소개 2014년에 클라우드 기반 데이터웨어하우스로 시작됨 (2020년 상장) 지금은 데이터 클라우드라고 부를 수 있을 정도로 발전 글로벌 클라우드위에서 모두 동작 (AWS, GCP, Azure) - 멀티클라우드 데이터 판매를 통한 매출을 가능하게 해주는 Data Sharing/Marketplace 제공 ETL과 다양한 데이터 통합 기능 제공 Snowflake 특징 스토리지와 컴퓨팅 인프라가 별도로 설정되는 가변 비용 모델 Redshift 고정비용 처럼 노드 수를 조장할 필요가 없고 distkey등의 최적화 불필요 SQL 기반으로 빅데이터 저장, 처리, 분석을 가능하게 해줌 비구조화된 데이터 처리와 머신러닝 기능도 저공 CSV, JSON, Avro, Pa..

05/24 33일차 데이터 웨어하우스 관리와 고급 SQL과 BI 대시보드 (3)

AWS Redshift 주요 메모 사항 Redshift 권한과 보안 사용자별 테이블 권한 설정 일반적으로 사용자별 테이블별 권한 설정은 하지 않음 너무 복잡하고 실수의 가능성이 높음 역할 (Role) 혹은 그룹(Group) 별로 스키마별 접근 권한을 주는 것이 일반적 RBAC(Role Based Access Control)가 새로운 트렌드: 그룹 보다 더 편리 여러 역할에 속한 사용자의 경우는 각 역할의 권한을 모두 갖게 됨 (Inclusive) 개인정보와 관련한 테이블들이라면 별도 스키마 설정 극히 일부 사람만 속한 역할에 접근 권한을 줌 뒤의 예는 그룹에 적용했지만 GROUP이란 키워드를 ROLE로 바꾸어도 동작 사용자 그룹 권한 설정 이전에 생성했던 그룹들의 권한을 아래처럼 설정하고 싶음 analy..

[회고록] 프로그래머스 데브코스-데이터 엔지니어, 6주차를 마치고

후기 5주차 데이터 웨어하우스와 SQL 기본, 6주차 AWS 클라우드 를 진행했다. 5주차에는 데이터 웨어하우스의 이론과 AWS Redshift를 통해 SQL을 실습하는 과정을 가졌었다. SQL은 사실 크게 걱정이 없었다. 학부때 oracle 수업을 들었던 경험이 있는데 해당 수업보다 어려운 수준의 SQL을 사용할 일은 거의 없을 것이라고 생각해서 쉽게 진행했던 것 같다. 사실 해당 수업의 정확한 강의명은 Oracle SQL & PL/SQL 이었는데 처음 강의를 신청할 때 PL/SQL이 뭔지 별생각 없이 넘어갔었는데 중간고사 이후에 프로시저를 배우면서 머리가 아파지기 시작했던 기억이 새록새록 나기도 했다. 프로시저 관련한 얘기를 멘토님과 1on1때 꺼내게 되었는데, 프로시저를 배우는 것은 돈 주고도 못할..

05/23 32일차 데이터 웨어하우스 관리와 고급 SQL과 BI 대시보드 (2)

AWS Redshift 주요 메모 사항 Redshift의 특징 AWS에서 지원하는 데이터 웨어하우스 서비스 2PB 의 데이터까지 처리 가능 최소 160GB로 시작해서 점진적으로 용량 증감 가능 Still OLAP 응답속도가 빠르지 않기 때문에 프로덕션 데이터베이스로 사용불가 컬럼 기반 스토리지 레코드 별로 저장하는 것이 아니라 컬렴별로 저장함 컬럼별 압축이 가능하며 컬럼을 추가하거나 삭제하는 것이 아주 빠름 벌크 업데이트 지원 레코드가 들어있는 파일을 S3로 복사 후 COPY 커맨드로 Redshift로 일괄 복사 고정 용량/비용 SQL엔진 최근 가변 비용 옵션도 제공(Redshift Serverless) 데이터 공유 기능 (Data share): 다른 AWS 계정과 특정 데이터 공유 가능. Snowfla..