전체 글

공부와 경험의 기록!
1. Airflow 의 주요 컴포넌트 Scheduler : workflow 스케줄을 실행시키고 executor 에게 task 를 제출하여 실행시킨다. Executor : task 실행을 관리하는 컴포넌트 Worker : 실제로 task 를 실행시키는 컴포넌트Webserver : DAG의 실행을 UI상에서 확인할 수 있도록 웹 서버를 제공한다. Metadata Database : DAGs 에 대한 정보와 task 의 상태에 대한 정보를 저장한다. Dags (folder) : DAG를 구성하는 코드가 있는 경로이다. airflow.cfg 파일에서 기본 경로를 설정할 수 있다.  2. Airflow Executor 의 종류 Sequential Executor기본 executor 이다.한번에 하나의 task 만..
·Algorithm (PS)
https://leetcode.com/problems/top-k-frequent-words/Given an array of strings words and an integer k, return the k most frequent strings.Return the answer sorted by the frequency from highest to lowest. Sort the words with the same frequency by their lexicographical order.Example 1:Input: words = ["i","love","leetcode","i","love","coding"], k = 2Output: ["i","love"]Explanation: "i" and "love" are..
·Algorithm (PS)
class Solution: def climbStairs(self, n: int) -> int: dp = [0] * (n+3) dp[1] = 1 dp[2] = 2 dp[3] = 3 if n
·Data Engineering
1. 테이블 적재 (전체 적재)Bronze - Silver - Gold 레이어를 두는 메달리언 아키텍처를 기반으로 ETL 파이프라인을 설계하고 있다. Bronze -> Silver 로 테이블 데이터 적재를 완료했다. SQL 문은 주로 union 을 사용하여 Target Table count 와 Source Table count 를 확인하고 있다.  2. Databricks 에서의 timezone 설정을 KST로 하도록 알아보는 중이다. Spark Cluster 설정을 아예 configuration 값으로 주는게 최선의 방법인 것 같다. Spark Cluster maven install 시에 구글 크롬 브라우저에서 잘 보이지 않는 이슈 & single cluster 는 설치 되는데 shared cluste..
·Algorithm (PS)
https://school.programmers.co.kr/learn/courses/30/lessons/60059 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr def rotate(arr): m = len(arr) result = [[0] * m for _ in range(m)] # 회전 결과 담기 for i in range(m): for j in range(m): result[j][m - i -1] = arr[i][j] return result def check(n, arr): fo..
최근 다양한 이기종 Database에서 Cloud 환경의 Delta Lake 로의 데이터 마이그레이션 일을 spark 로 진행하고 있다. JDBC 연결로 Spark 에서 데이터 read & write 작업을 할 때 발생했던 data skew 현상과 이를 트러블 슈팅했던 경험을 공유하고자 한다. Spark JDBC 연결 spark 에서 jdbc 연결을 통해 Database 의 table 데이터를 read 하는 작업은 아래와 같다. 별다른 추가 옵션을 주지 않고 spark 가 알아서 분산 처리를 할 것을 기대하고 다음과 같은 코드로 데이터를 읽어오는 작업을 하였다. 사용한 인스턴스는 Databricks 에서 aws ec2 r5.large 인스턴스 (core 2, 16GB) 로 driver node, work..
Delta Live Table 이란? Databricks 에서 데이터 파이프라인을 관리하고 자동화하는 서비스이다. Delta Lake 및 Spark 와 연동되어 스트리밍 방식과 배치 방식을 모두 제공한다. DLT 는 console에서 오토 스케일링, 스케줄링, 알림 기능을 제공한다. Delta Live Table 으로 파이프라인을 구성할 때는 databricks 에서 제공하는 dlt 라이브러리를 사용해야 하며, 일반 spark cluster 가 아닌 Delta Live Table Pipeline 에서 구성 및 실행해야 한다는 특징이 있다. Delta Live Table 가 등장하게된 배경은 Python 뿐만 아니라 SQL 쿼리로도 '스트리밍' 처리를 할 수 있게 한다는 아이디어에서 나왔다고 한다. 엔지니..
·Algorithm (PS)
기업 코딩테스트 준비를 위해 코드트리 플랫폼에서 2달동안 공부해봤습니다. 퇴근 후, 혹은 주말 시간을 이용하여 한주에 2~3문제 정도를 풀이하는 것을 목표로 하였습니다. 단계별 커리큘럼 학습 지난 달에 이어서 꾸준히 '알고리즘 입문' 레벨을 풀이하였습니다. Simulation / Backtracking / DFS / BFS 위주로 공부했습니다. 프로그래머스의 구현 문제들 보다 조금 더 실제 기업 코딩테스트에 나올만한 수준으로 대비가 가능한 것 같아서 좋았습니다. 꾸준히 풀이한 결과 프로그래머스의 구현 LV2정도는 무난하게 풀 수 있게 되었습니다. 기업별 기출문제 제가 개인적으로 목표하는 기업의 기출문제가 코드트리에 있어서 유용했습니다. 코드트리 유저들의 응시후기도 볼 수 있어서 준비에 도움이 되는 것 같..
minjiwoo
MJ workspace