[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.
[git,github] 3) git, github(깃,깃허브) 개념,명령어,다운로드, 가입 총 정리
이번 시리즈는 총 3개의 시리즈로 이뤄져 있습니다. 1. git,git hub의 개념, 명령어, 설치와 가입 및 리포지토리를 생성하기 2. git, git hub 실습 3. git, github을 이용한 협업 그 중 이번 포스트는 git, github을 이용한 협업을 해보겠습니다. 조직 구성 및 개요 gittest라는 협업하게 될 Repository를 Spidyweb가 생성 repository는 public하며 open-source 협업을 기준으로 가정 Spidyweb, nowayhome, homefromfar 3명이서 Organization을 이루어서 협업 모든 구성원이 owner가 되어 동등하게 프로젝트를 관리 Spidyweb, nowayhome, homefromfar가 각각 gittestforcol..
2022. 1. 12.