본문 바로가기
728x90

전체 글335

[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.
[AWS] ec2 instance stop vs terminate 인스턴스 중지와 종료의 차이 특성 재부팅 중지/시작(Amazon EBS 기반 인스턴스에만 해당) Terminate 호스트 컴퓨터 인스턴스가 동일 호스트 컴퓨터에서 유지됩니다. 인스턴스가 새 호스트 컴퓨터로 이동됩니다(경우에 따라 현재 호스트에 남아 있음). 없음 프라이빗 및 퍼블릭 IPv4 주소 이러한 주소는 동일하게 유지됩니다. 인스턴스가 관련 프라이빗 IPv4 주소를 유지합니다. 중지/시작 중에 변경되지 않는 탄력적 IP 주소가 지정되지 않는 한, 인스턴스가 새 퍼블릭 IPv4 주소를 가져옵니다. 없음 탄력적 IP 주소(IPv4) 탄력적 IP 주소가 인스턴스와 연결된 상태로 유지됩니다. 탄력적 IP 주소가 인스턴스와 연결된 상태로 유지됩니다. 인스턴스로부터 탄력적 IP 주소 연결이 끊깁니다. IPv6 주소 주소가 동일하게 유지됩.. 2022. 2. 11.
[Airflow] Airflow 설치 + mysql로 DB지정하기 +서비스(데몬으로) 등록하기 1. Apache Airflow 설치 1) AIRFLOW 설치 및 부가적으로 필요한 패키지 설치 sudo apt-get update sudo apt install python3-pip 2) 부가적으로 필요한 패키지 설치 pip3 install cryptography psycopg2-binary boto3 botocore sudo apt install libmysqlclient-dev -y pip3 install mysqlclient 3) airflow 설치 pip3 install apache-airflow 설치하고 나면 /home/호스트/.local/bin 디렉토리에 관련된 파일들이 저장됨 cd ~ nano .profile export AIRFLOW_HOME=/home/호스트/airflow 2. sqli.. 2022. 2. 10.
[Python] *args, **kwargs은 어떤 거고, return된 객체의 type은 어떻게 나오는지 정리 1. *args란? arguments의 줄인말로 가변 인자를 위한 변수 def add(*args): result = 0 for i in args: result += i print(result) 위와 같은 매개변수로 *args가 들어가 있는 함수를 본 적이 있을 것이다. 해당 args는 통상적으로 가변 인자를 위한 변수의 이름이지 *whateveryouwant, *spidyweb 과 같은 변수명을 채택해도 됨(앞의 *가 중요) 앞에 *를 붙이면 가변 인자를 위한 변수로 인식 되어 여러개의 매개 변수를 입력 할 수 있게 됨 물론, 입력하지 않아도 됨 *args에 값을 집어 넣으면 args 변수는 튜플 형태가되고 그 안에 값이 담기게 됨 1,2,3을 전달 인자로 입력 아무것도 전달 인자로 입력하지 않음 그렇다.. 2022. 1. 27.
[Spark] Spark 개요, Spark란 무엇이고 어떤 역할을 하는가? Spark Core, Pandas와 비교 Spark를 공부하기에 앞서 선행 되면 좋을 법한 것들 1. 하둡과 빅데이터 개념 https://spidyweb.tistory.com/239?category=910416 [Hadoop] 하둡이란? 하둡 에코시스템이란? hadoop, hadoop eco-system 개념 1.Hadoop 이란? -하둡은 분산 데이터 처리의 공통 플랫폼입니다. -하둡을 3가지로 나눈다면 1) 데이터 저장의 분산 파일 시스템(Distributed file system) HDFS 2) 데이터 처리의 분산 데이터 처리(Distributed da. spidyweb.tistory.com 2. python 언어(+pandas library) 혹은 scala언어 스파크는 여러가지 언어를 지원하지만, scala와 python이 점유율이 높.. 2022. 1. 26.
[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.
[python] python으로 MYSQL 연결하기(windows) with odbc, mysql-connector-python 1. mysql-connector-python 1) mysql-connector-python library 설치 pip install mysql-connector-python 2) mysql 연결 미리 만들어 둔 mysql DB의 정보를 mysql connection 객체에 담는다 import mysql.connector mydb = mysql.connector.connect( host="ip주소", user="계정 아이디", passwd="계정 비밀번호", database="생성한 DB이름" ) 3) 데이터 조회해보기 def select_all(): #조회 함수생성 cur = mydb.cursor() #커서 객체생성 sql ='''SELECT * FROM DB.Table명''' #조회 SQL cur.e.. 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.
728x90