본문 바로가기
728x90

분류 전체보기334

[Python] lambda 함수(익명 함수) 1. lambda 함수란? 파이썬에서는 lambda를 통해 이름이 없는 함수를 만들 수 있습니다. lambda를 통해 만들어진 함수는 기존의 def 키워드를 통하여 리터럴 표기법에 따른 함수를 생성하는 방법과 비교했을 때 코드의 간결함과 메모리의 절약이 장점이라고 할 수 있습니다. 함수객체를 변수에 담은 시점에서, 함수객체는 메모리에 올라가서 변수를 통해 자신이 호출되기를 기다리게 됩니다. 단 한번만 사용되는 함수의 경우 불필요한 메모리가 낭비되게 됩니다. lambda 함수는 결과를 return키워드 없이 자동으로 return해줍니다. lambda x : x + 1 lambda는 이름이 없고 저장된 변수가 없기에 재사용할 수는 없는데, 변수에 담아 재사용 할 수는 있습니다. func = lambda x:.. 2022. 2. 28.
[Spark] Install PySpark with PiP & 파일 읽고, 쓰기 실습 이번 포스트는 예전에 포스트했었던 spark를 설치하여 jupyter notebook 환경에서 pyspark를 사용하는 것보다 활용하기 쉬운 pip를 통해 pyspark를 다운로드하고 확인하고, 실습해보겠습니다. 예전 포스트 링크 2021.02.17 - [BigData/Spark & Spark Tuning] - [PySpark] Spark 환경 설정 with Anaconda(Jupyter Notebook) Python(Pyspark Standalone mode) on windows [PySpark] Spark 환경 설정 with Anaconda(Jupyter Notebook) Python(Pyspark Standalone mode) on windows 이번 포스트는 windows 10에 jupyter n.. 2022. 2. 24.
[Python] module, 사용법, if __name__=="__main__": ,package 개념 1. 모듈(module)이란? 함수나 변수 또는 클래스를 모아 놓은 파일 다른 파이썬 프로그램에서 불러와 사용할 수 있게끔 만든 파이썬 파일 코드의 특정 부분을 분리해서 따로 모아놓은 것 파일 하나를 1개의 모듈로 봄 import 문을 통해 모듈 사용이 가능 가독성을 위해서 맨위에 import문을 넣음 1) 모듈 불러오기 결국 모듈은 파이썬 파일이고 이 모듈을 불러오는 것이 중요 import 모듈(파이썬 파일명) import는 현재 디렉터리에 있는 파일이나 파이썬 라이브러리가 저장된 디렉터리에 있는 모듈만 불러올 수 있다.(현재 디렉터리의 파이썬 파일, 가상환경 내 site-packages에 있는 파이썬 파일) def add(a, b): return a + b 해당 코드가 module1에 있다고 가정 했.. 2022. 2. 18.
[Project] ETL Daily batch project(공공데이터 코로나 API, Python, PySpark, Airflow, AWS) 이번 포스트에는 정해진 시간에 EC2를 띄우는 EC2 image builder 생성 및 결론과 보완할 점, 추가로 해볼 기능을 정리하겠습니다. 어떤 프로젝트인지 잘 모르시는 분은 아래의 링크를 참고해주세요. 2022.02.17 - [BigData/Project] - [Project] ETL Daily batch project(공공데이터 코로나 API, Python, PySpark, Airflow, AWS) 1. 프로젝트 개요 EC2에 환경 구성이 되지 않으신 분은 아래의 링크를 참고해주세요 2022.02.17 - [BigData/Project] - [Project] ETL Daily batch project(공공데이터 코로나 API, Python, PySpark, Airflow, AWS) 4. EC2 서.. 2022. 2. 17.
[Project] ETL Daily batch project(공공데이터 코로나 API, Python, PySpark, Airflow, AWS) 5. aws cli configure, airflow dag 구성 및 S3로 데이터 보내기, ec2 자동으로 종료하기 이번 포스트에는 airflow dag를 구성하여 pyspark job을 실행시킨 후, S3에 데이터를 복사해 넣고 EC2를 자동으로 종료하겠습니다. 어떤 프로젝트인지 잘 모르시는 분은 아래의 링크를 참고해주세요. 2022.02.17 - [BigData/Project] - [Project] ETL Daily batch project(공공데이터 코로나 API, Python, PySpark, Airflow, AWS) 1. 프로젝트 개요 EC2에 환경 구성이 되지 않으신 분은 아래의 링크를 참고해주세요 2022.02.17 - [BigData/Project] - [Project] ETL Daily batch project(공공데이터 코로나 API, Python, PySpark, Airflow, AWS) 4. EC.. 2022. 2. 17.
[Project] ETL Daily batch project(공공데이터 코로나 API, Python, PySpark, Airflow, AWS) 4. EC2 서버 생성 및 pyspark, airflow,MySQL 설치 이번 포스트에는 EC2서버 환경을 구성하고, spark, airflow를 설치하여 이미지로 저장하겠습니다. 어떤 프로젝트인지 잘 모르시는 분은 아래의 링크를 참고해주세요. 2022.02.17 - [BigData/Project] - [Project] ETL Daily batch project(공공데이터 코로나 API, Python, PySpark, Airflow, AWS) 1. 프로젝트 개요 1. EC2서버 띄우기 1) EC2생성 및 Ubuntu Server 20.04 LTS를 선택합니다. 2) 인스턴스 타입 선택 현재 airflow 및 pyspark를 한 곳에서 돌리는 구조기 때문에, 적당한 크기의 t2.large타입을 선택합니다. 3) public ip 부여 및 IAM role 부여 public IP를.. 2022. 2. 17.
[Project] ETL Daily batch project(공공데이터 코로나 API, Python, PySpark, Airflow, AWS) 3. ETL python 파일 만들기 이번 포스트는 공공데이터 코로나 API를 request로 받아 bs4로 lxml로 변환 후 pyspark를 이용해 데이터 처리를 해보겠습니다. 어떤 프로젝트인지 잘 모르시는 분은 아래의 링크를 참고해주세요. 2022.02.17 - [BigData/Project] - [Project] ETL Daily batch project(공공데이터 코로나 API, Python, PySpark, Airflow, AWS) 1. 프로젝트 개요 1. 공공데이터 API를 REST하게 받아오기 코로나감염현황 API를 불러오기 위해서는 해당 url과 일반 인증키가 필요합니다.(일반 인증키는 자신의 계정 마이페이지 활용 신청된 페이지에서 확인하실 수 있습니다.) 또한 startCreateDT, endCreateDT 매개변수를 채워.. 2022. 2. 17.
[Project] ETL Daily batch project(공공데이터 코로나 API, Python, PySpark, Airflow, AWS) 2. 공공 데이터포털 가입 및 API활용 신청 이번 포스트에는 공공 데이터 포털 회원가입 및 API활용 신청하는 방법을 정리하겠습니다. 1. 공공데이터 포털 가입 및 로그인 https://www.data.go.kr/ 공공데이터 포털 국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Datase www.data.go.kr 위의 링크에 들어가서 회원가입 or 로그인(네이버, 카카오)를 합니다. 2. 코로나 감염현황 API 데이터 활용 신청 로그인 이후에 데이터 찾기 -> 이슈 및 추천 데이터 -> 이슈데이터 -> 코로나바이러스 19 코로나 발생 현황 -> 보건복지부 코로나 19 감염 현황 활용 신청을 합니다. 활용 목적 및.. 2022. 2. 17.
[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.
728x90