일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 그리디
- delete join
- SQL
- docker container
- Dynamic Programming
- MySQL
- Spark
- docker
- hackerrank
- airflow architecture
- airflow webserver
- leetcode
- Airflow
- terraform
- 빅데이터를 지탱하는 기술
- datacamp
- BOT
- Python
- 알고리즘
- 데이터 엔지니어
- 백준온라인저지
- telegram
- Data Engineering
- Pseudo Lab
- 2023년 목표
- 프로그래머스
- dsf
- docker image
- data_engineer
- 백준 온라인 저지
- Today
- Total
목록전체 글 (104)
Lim Seunghyun Space

Airflow 워크플로우 작성, 에약 및 모니터링하는 플랫폼 Airflow를 쓰는 이유 ETL을 구현한 Python 스크립트를 하나 가동하는데는 cronjob으로 돌려도 상관없지만, 다수의 ETL 스크립트를 cronjob으로 가동하는 경우 아래와 같은 문제점이 있다. 모니터링 : 스크립트가 잘 가동되고 있는지 확인하기 어렵다. 의존성 문제 : ETL간 의존성이 있는 경우 상위 ETL이 잘 가동되고 있는지 확인하기 어렵다. 실패 복구 : 스크립트에서 에러 발생시 언제부터 언제까지 어떻게 다시 실행할 것인지 불명확하다, Backfill의 이슈도 있다. 분산된 환경에서 중앙으로 ETL을 관리하기 어렵다. 위의 문제점을 Airflow에서 해결할 수 있다. Airflow 컴포넌트 웹 서버 : 웹 대시보드 스케쥴러..
문제 링크 https://leetcode.com/problems/climbing-stairs/ Climbing Stairs - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 문제 해설 계단의 정상에 도달하려면 n번의 걸음을 해야한다. 매번 1개 혹은 2개의 계단을 오를 수 있다. 얼마나 많은 방법으로 정상에 오를 수 있는가 나의 풀이 (Python3) class Solution: def climbStairs(self, n): if n

Transaction(트랜잭션) 모두 성공적으로 실행되던지 아니면 전혀 실행되지 않게 여러 SQL들을 묶어서 하나의 작업처럼 처리하는 방법 모두 적용하거나 모두 취소되는 ALL OR NOTHING의 개념 명령어 BEGIN COMMIT / END ROLLBACK 사용법 BEGIN; SQL 1; SQL 2; ... SQL N; COMMIT; -- AUTOCOMMIT이 TRUE인 경우 END; BEGIN으로 시작하여 SQL문을 순서대로 실행하고, 실패없이 모두 성공하면 SQL문을 모두 반영시켜주는 COMMIT을 사용하거나 AUTOCOMMIT이 TRUE로 되어 있으면 END로 트랜잭션을 종료 SQL을 실행중 하나라도 에러가 발생시 BEGIN 이전 상태로 돌아감 (ROLLBACK) Reference TRANSAC..
사용법 DELETE FROM DELETE FROM -- Table 안의 모든 Record를 삭제 DELETE FROM WHERE -- Table 안의 WHERE 조건에 해당하는 Record를 삭제 TRUNCATE TRUNCATE TABLE -- 테이블에 대한 모든 Record를 제거 공통점 테이블의 레코드를 삭제해주는 용도 차이점 DELETE FROM은 조건을 이용하여 특정 레코드들만 삭제해줄 수 있다. TRUNCATE는 DELETE FROM에 비해 처리 속도가 빠르다. TRUNCATE시 바로 테이블에 적용됨 -> 트랜잭션을 사용한다 하더라도 바로 커밋되며 롤백이 불가능하다.
문제 링크 https://programmers.co.kr/learn/courses/30/lessons/60057 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr 문제 해설 문자열 s을 n개 단위로 잘라서 압축해서 생성한 문자열의 최소 길이를 구하기 (n = 1,2,3,4,..) 나의 풀이 (Python) def solution(s): answer = 1001 for i in range(1, len(s) + 1): comp = "" count = 1 previous = "" for j in range(0..

구축 환경 OS : Ubuntu 18.04 Python : 3.8 Python 환경 구축 Python 가상환경 생성 Local에 설치된 Python에 문제 생기지 않도록 virtualenv를 이용하여 airflow를 위한 Python 가상 환경 생성 Python 가상환경은 User의 홈 디렉토리에 생성 virtualenv venv --python=python3.8 생성한 Python 가상환경 실행 airflow_limsh@lim-space:~$ source venv/bin/activate (venv) airflow_limsh@lim-space:~$ source 설치된 가상환경 경로/bin/activate로 활성화 (venv) airflow_limsh@lim-space:~$ tree -L 2 . └── v..
문제 : https://www.hackerrank.com/challenges/what-type-of-triangle/problem?isFullScreen=true Type of Triangle | HackerRank Query a triangle's type based on its side lengths. www.hackerrank.com 문제 해설 TRIANGLES 테이블의 A, B, C에 조건을 이용하여 어떤 유형인지 출력하기 Equilateral : 3변의 길이가 모두 같을시 Isosceles : 2변의 길이가 같을시 Scalene : 3변의 길이가 모두 다를시 Not A Triangle : 삼각형의 형태가 될 수 없을시 (A + B 조건1에 맞으면 값1 리턴 아니면 조건2로 넘어감, 조건2가 맞으..
문제 : https://www.hackerrank.com/challenges/the-pads/problem?isFullScreen=true The PADS | HackerRank Query the name and abbreviated occupation for each person in OCCUPATIONS. www.hackerrank.com 문제 해설 쿼리는 총 2개로 구성 이름(직업의 첫글자)로 출력하되 이름은 알파벳 순으로 정렬해서 조회 (Ex) Name : Anna Occupation : Doctor라면 Anna(D) "There are a total of s."으로 출력하면서 갯수와 직업 순으로 정렬하면서 조회 (Ex) Doctor가 4명이라면 "There are a total of 4 doct..
문제 : https://www.hackerrank.com/challenges/salary-of-employees/problem?isFullScreen=true Employee Salaries | HackerRank Print the names of employees who earn more than $2000 per month and have worked at the company for less than 10 months. www.hackerrank.com 문제 해설 Employee 테이블에서 10개월 미만 근무자 중 salary가 2000보다 큰 name을 조회 결과는 employee_id를 오른차순으로 정렬한 결과 나의 풀이 (MySQL) SELECT name FROM Employee WHERE s..
문제 : https://www.hackerrank.com/challenges/name-of-employees/problem?isFullScreen=true Employee Names | HackerRank Print employee names. www.hackerrank.com 문제 해설 Employee 테이블에서 name을 알파벳 순으로 조회하는 쿼리를 작성 나의 풀이 (MySQL) SELECT name FROM Employee ORDER BY 1;