본문 바로가기

전체 글102

[Softeer / Level3][HSAT 7회 정기 코딩 인증평가 기출] 순서대로 방문하기 https://softeer.ai/practice/info.do?idx=1&eid=2050 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 주어진 조건에 따라 정해진 위치를 방문해야하는 그래프 문제이다. 인덱스에 따라 움직이도록 종료조건을 걸어주고, 마지막 인덱스가 나온다면 카운트 값만 증가시키고 리턴. 주의해야할 점은 방문체크를 하고 나올 때 다시 방문해제를 해주어야 한다는 것이다. import sys from collections import deque input = sys.stdin.readline N, M = map(int, input().split()) def is_valid(i, j): if i = N or j = N: return False if visit.. 2023. 10. 14.
[Softeer / Level3][HSAT 7회 정기 코딩 인증평가 기출] 자동차 테스트 https://softeer.ai/practice/info.do?idx=1&eid=1717 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai 문제를 보고 itertools 에서 만들 수 있는 가능한 경우의 수를 만든다음, 중앙값을 찾는식으로 진행했었다. (시간초과 엔딩..) 다른 방법이 도저히 떠오르지 않아 해설을 참고했다. 해설에서의 문제해결전략은 3가지였다. 정렬된 리스트에서 피벗을 잡고, 피벗 기준으로 앞의 숫자 갯수와 뒤의 숫자 갯수를 곱해주어서 가능한 경우의 수를 구하기 리스트는 중복이 허용되기 때문에 O(n)의 찾는 시간이 걸림, 따라서 set 으로 정리해서 피벗을 찾아주기 피벗을 찾기위해 bisect(내장함수) 를 사용하기 참고로, bisect_left(ar.. 2023. 10. 13.
[데이터엔지니어] 실리콘 밸리에서 날아온 엔지니어링 스타터 키트 Week7 7주차 주요내용 Airflow Configuration for Production Usage Slack 연동하기 구글 시트 연동하기: 시트 => Redshift 테이블 API & Airflow 모니터링 Dag Dependencies Airflow Configuration for Production Usage 제일 중요한 파일은 airflow.cfg (/var/lib/airflow or /opt/airflow/) Any changes here will be reflected when you restart the webserver and scheduler core 섹션의 dags_folder가 DAG들이 있는 디렉토리가 되어야한다. /var/lib/airflow/dags dag_dir_list_interva.. 2023. 10. 12.
[데이터엔지니어] 실리콘 밸리에서 날아온 엔지니어링 스타터 키트 Week6 6주차 주요내용 OLTP 테이블 복사하기 Backfill 실행하기 Summary 테이블 만들기 (ELT) MySQL(OLTP) 테이블 복사하기 서비스 운영을 위한 데이터를 MySQL에 적재해놓는다. OLTP(Online Transaction Process) : 서비스를 운영하는데 필요한 최소한의 정보등록 → OLAP(Online Analytical Process) : 데이터 분석과 데이터 프로세싱을 위한 DB구축 MySQL .nps 데이터를 Redshift nps 데이터에 적재하는 두가지 방법 MySQL에서 레코드 하나씩 읽어온 다음에 INSERT 로 루프돌면서 적재시키기 upsert가 지원이 되지 않고 INSERT/UPDATE 과정을 두번 거쳐야하기 때문에 오래걸림 COPY를 통해 UPSERT를 구현 .. 2023. 10. 11.
[데이터엔지니어] 실리콘 밸리에서 날아온 엔지니어링 스타터 키트 Week5 5주차 주요내용 airflow.cfg 파해치기 Open Weathermap DAG 구현하기 Primary Key Uniqueness 보장하기 Backfill과 Airflow airflow.cfg 파해지기 1. DAGs 폴더는 어디에 지정되는가? core 섹션의 dags_folder 키 - 도커 sh 로 들어가는 과정 /opt/airflow/dags : dags파일이 있을거라고 생각함 2. DAGs 폴더에 스캔 주기를 정해주는 키의 이름이 무엇인가? core 섹션의 dags_dir_list_interval 키 (default = 300s), 최대 5분을 기다리는것이다. 3. API 형태로 외부에서 조작하고 싶다면? 어떤 섹션을 변경해야 하는가? api 섹션의 auth_backend를 airflow.api... 2023. 10. 10.
[데이터엔지니어] 실리콘 밸리에서 날아온 엔지니어링 스타터 키트 Week4 4주차 주요내용 멱등성과 트랜잭션 Airflow 이해하기 NameGender.py DAG 개선하기 Yahoo Finance API DAG 작성 멱등성과 트랜잭션 멱등성이란? 데이터 파이프라인이 연속 식행되었을 때 소스에 있는 데이터가 그대로 저장되어야 함을 이야기함 가령 Full refresh를 하는 데이터 파이프라인이라면… 먼저 DW의 관련 테이블에서 모든 레코드들을 삭제한다. 데이터 소스에서 읽어온 데이터를 DW테이블로 적재한다. 만일 1이 성공하고 2가 실패한다면…? 만일 1이 실행된 다음 누군가 이 테이블을 사용한다면? → 위와 같은 상황을 방지하기 위해, 우리는 트랜잭션에 대한 개념을 인지해야한다. 트랜잭션이란? Atomic하게 실행되어야 하는 SQL들을 묶어서 하나의 작업처럼 처리하는 방법 T.. 2023. 10. 9.
반응형