[Project] ETL Daily batch project(공공데이터 코로나 API, Python, PySpark, Airflow, AWS) 1. 프로젝트 개요
이번 포스트에는 아주 간단한 ETL을 구현하는 프로젝트를 해보겠습니다. 프로젝트 자체는 필요한 것만 최소한의 시간으로 최소한의 비용으로 구성했으며, 점차 추가기능들을 구현하거나 수정할 부분을 수정하여, sub version을 포스트 하겠습니다. 프로젝트에서 다루는 것 ETL python파일 corona API를 restAPI로 받아오는 법 --수집 python library인 bs4를 이용하여 lxml로 파싱후, list로 변환 --처리 list를 pyspark dataframe으로 변환 --처리 오늘, 전체, 날짜별 dataframe을 단일 csv파일로 저장 --저장 오늘, 전체, 날짜별 dataframe을 기준날짜를 기준으로 partition하여(partitionBy) csv파일로 저장 --저장 da..
2022. 2. 17.
[Python] 콜백함수란? map함수란?
CallBack function 함수의 인자로 사용되는 함수를 callback 함수라고 한다. MapReduce의 Map함수, 공백을 기준으로 입력을 받아 int타입으로 변환하는 Map함수 같은 기능을 나타내며 이렇게 map(function , iterable) 처럼 함수내에서 함수를 인자로써 사용되는 함수를 콜백 함수라고 함 map(function, iterable) 함수 function에는 사용자 정의 함수가 올 수 있고, 내장함수도 올 수 있으며, 람다식으로도 표현이 가능하다 list(map(lambda x:x**2, range(5))) A,B = map(int, input().split()) *iterable 객체란? list, dict, set, str, bytes, tuple, range 타입..
2022. 1. 24.
[Python] list, dictionary, tuple 내장 함수 zip으로 다루기
zip 다루기 zip은 두 개의 리스트를 서로 묶어줄 때 사용합니다. list_1 = ["a","b","c","d"] list_2 = [1,2,3,4,5,6,7] #list 2개를 묶어 새로운 tuple들의 list 생성 new_list = list(zip(list_1, list_2)) print(new_list) #tuple들의 리스트인 [('a', 1), ('b', 2), ('c', 3), ('d', 4)] 출력 #index가 작은 쪽에 맞춰서 출력된다. 다음과 같이 묶인 list의 각 값을 출력 할 수도 있습니다. list_1 = ["a","b","c","d"] list_2 = [1,2,3,4,5,6,7] #tuple들의 list는 각 값을 출력할 수 있다. for n, p in zip(list_1..
2022. 1. 20.