본문 바로가기

Python5

Airflow DAG에서 다른 DAG 호출하기 (DAG 종속성) 조사 동기 프로젝트를 진행하며 하나의 dag에 모든 task를 넣다보니 아래와 같은 문제점이 발생했다. 1. DAG가 복잡해져 가독성이 떨어진다. 2. task를 추가하는 등의 추가 작업이 어렵다 따라서, dag를 분리하여 확장성과 가독성을 향상시킬 필요성을 느꼈다. 목표 1. 이후에 진행되어야 할 dag를 어떻게 호출 할 수 있는 지 2. 이전 dag의 success / fail flag를 어떻게 받아올 지 DAG 종속성 dag를 설계할 때 dag끼리 종속성을 갖지 않는 것이 가장 좋지만 어쩔 수 없이 종속성을 만들어야하는 경우가 있다. 예시 두 dag는 종속되지만 일정이 다름 두 dag는 종속되지만 서로 다른 팀에서 소유 task는 다른 task에 종속 되지만 excution_date가 다름 타 DA.. 2024. 1. 21.
Python 자료타입 자료형이란? 변수를 저장하는 데이터 형식 종류 : Integer, Float, String, List, Dictionary 등등 자료형이 중요한 이유 자료형마다 메모리 공간의 크기가 다르다. 자료형 별로 서식문자와 데이터 표현 범위가 다르다. ➡️ 메모리의 낭비 최소화 더보기 📌 Python에서 변수의 메모리 크기 출력 방법 from sys import getsizeof a = 1 print(getsizeof(a)) # 28 b = "1" print(getsizeof(b)) # 50 자료형 종류 더보기 📌 자료형 알아보는 방법 print(type(None)) # print(type(1)) # print(type(1.0)) # print(type(1 + 1j)) # print(type("1")) # Non.. 2024. 1. 16.
파이썬(Python) - 이분탐색(이진탐색) / bisect 이진 탐색(이분 탐색) 정렬된 상태의 리스트에서 탐색범위를 반으로 줄여가며 데이터를 탐색하는 방법 리스트가 반드시 정렬된 상태여야만 한다. lst = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # 오름차순으로 정렬된 상태 num = 7 # 정렬된 상태를 유지하며 배열에 추가할 요소 left = 0 # 왼쪽 기준 인덱스 right = len(lst)-1 # 오른쪽 기준 인덱스 while left= num: right = mid - 1 result = mid else: left = mid + 1 print(result) # 7 각 양끝의 인덱스를 기준으로 잡고 가운데 인덱스를 비교값을 삼아 범위를 반씩 줄여나가는 방식 절반씩 범위를 줄여가기에 O(logN)이 성립! bisect - .. 2022. 4. 12.
파이썬(Python) - 문자열에서 여러 문자 바꾸기 Method replace() : 문자열에서 한 문자를 다른 문자로 변경 re.sub() / re.subn() : 문자열에서 정규식에 맞는 문자들을 모두 변경 maketrans() / translate() : 1대1형식으로 여러 문자를 변경 및 삭제 →문자열은 인덱스로 조회는 가능하지만 직접적인 수정 및 삭제는 불가능하므로 위와 같은 방법으로 수정한다. replace() 특정문자를 대체할 때 문자열.replace(문자열에서 교체할 문자, 일치하는 문자를 대체할 문자 , [교체할 횟수]) string = "hello hi hello good" string2 = string.replace("hello", "Nope") print(string2) # "Nope hi Nope good" string3 = str.. 2022. 3. 31.
파이썬(Python) - 딕셔너리(dictionary) 원소 검색/추가/삭제 딕셔너리(dictionary)의 구조 중괄호({ })로 감싸진 키(key)와 요소(value)의 1대1 매칭으로 구성됨 콜론을 기준으로 앞이 key, 뒤가 value값 아래의 dict의 key값 : 이름, 나이, 다루는 언어 dict = {"이름" : "홍길동", "나이" : 28, "다루는 언어" : ["Python", "Java"]} 각 key와 value 쌍은 쉼표(,)로 구분한다 key의 값이 겹칠경우 하나 외에는 모두 무시되므로 key는 중복X 하나의 key에 여러 값을 매칭하고 싶을 경우 value를 리스트형태로 지정할 수 있다. key값은 변하지 않는 값으로만 지정이 가능하다!! ex) 튜플형태는 가능하나 리스트는 불가능하다. 딕셔너리(dictionary) 검색 key값 조회 ( dict.k.. 2022. 3. 29.