전체 글 14

[AWS] VSCode에서 AWS EC2(Ubuntu) SSH 연결하기

이번 포스팅에서는 AWS EC2 인스턴스에 로컬 VSCode를 연결하는 방법입니다. 1. 플러그인 설치 F1을 눌러서 Remote Development를 설치한다. 2.SSH Config 파일 생성 F1을 눌러서 Remote-SSH : Connect to Host을 연다 yong은 이미 생성한 호스트이며 처음 생성할 경우 Configure SSH Host를 선택해서 Config를 생성해야 합니다. conf 파일을 생성할 경로를 선택합니다. Host는 저장할 호스트명이고, 나중에 Remote-SSH:Connect to Host에서 호스트명으로 선택할 수 있습니다. HostName은 ip를 지정해주면 됩니다. EC2같은 경우 Public DNS 이름을 입력하면 됩니다. 3.ssh 접속 F1을 눌러 Remot..

AWS 2022.04.23

[Airflow] Linux(Ubuntu)환경에서 Airflow 설치

본 포스팅은 Apache Airflow 설치 방법과 Airflow란 무엇인지 정리한 포스팅입니다. 💡 Apache Airflow ? Airflow란 AirBnb에서 만든 workflow 관리 툴입니다. workflow는 일련의 작업의 흐름이며, 예를 들어서 ETL 같은 경우는 데이터를 추출 -> 변환 -> 적재하는 workflow를 관리해주는 툴이 Airflow입니다. airflow 구조 Scheduler - Airflow의 DAG와 작업들을 모니터링하고 실행 순서와 상태 관리 Workers - Airflow의 작업을 실행하는 공간 Metadata Database - Airflow에서 실행할 작업에 관한 정보들을 저장 Webserver - Airflow의 user interface 제공 DAG direc..

Big Data/Airflow 2022.04.16

[Python] Pandas 기초 및 실습

💡 Pandas? Pandas는 데이터 조작과 분석을 위한 파이썬 소프트웨어 라이브러리 입니다. Pandas에서는 표 형태의 데이터를 다루기 위한 두 가지 주요 데이터 구조인 Serise(1차원)와 DataFrame(2차원)이 존재합니다. 💡 Series? Series는 1차원의 데이터를 다룹니다. 1차원 리스트와 유사하지만, 리스트와의 큰 차이점은 시리즈는 인덱스 이름을 부여할 수 있다는 점 입니다. 💡 DataFrame? DataFrame은 판다스의 2차원 자료구조 입니다. 시리즈들의 집합이며 행과 열이 있는 테이블 형태를 가집니다. 1. Series Series 객체 생성 import pandas as pd value = pd.Series(['가','나','다','라']) print(value) v..

Language/Python 2022.03.14

[AWS] AWS 서비스인 Redshifs, EMR, Athena 특징

Redshift 클라우드에서 완벽하게 관리되는 페타바이트급 데이터 웨어하우스(DW) 서비스입니다. 레드시프트가 가진 페타바이트 규모의 데이터와 S3에 구축된 데이터 레이크에 있는 엑사바이트 규모의 데이터에 대해 쿼리를 실행할 수 있습니다. 기존의 데이터 웨어하우스 보다 10배 빠른 성능을 자랑합니다 기계학습을 통해 프로세스들의 부하량을 계산하고 가장 빠른 처리가 가능하게 대기열을 구성합니다. 클라우드 기반이다 보니 간단 신속한 확장과 백업이 가능합니다. 여러 조인 및 하위 쿼리가 포함된 매우 복잡한 SQL과 관련된 워크로드에 대해 가장 빠른 쿼리 성능을 가짐 Athena 표준 SQL을 사용해 Amazon S3에 저장된 데이터를 간편하게 분석할 수 있는 대화식 쿼리 서비스입니다. 서버리스 서비스이므로 설정..

AWS 2022.03.13

[AWS] AWS Glue 및 Amazon S3를 활용한 Data Lake 구축

빅데이터의 시대가 되면서 데이터의 양이 많아지고 ETL 프로세스가 복잡해져가고 있습니다. 빅데이터를 위한 데이터 스토리지 리파지토리인 Data Warehouse와 Data Lake 2가지 방법이 있습니다. 본 포스팅은 Data Lake를 구축해보는 실습입니다. 💡 Data Warehose? 먼저 테이블을 설계를 제대로 정한 후에 데이터를 가공하고 축적합니다. 일반적인 RDB와는 달리 대량의 데이터를 장기 보존하는 것에 최적화되어 있습니다. 💡 Data Lake? 데이터를 원래의 형태로 축적해두고 나중에 그것을 필요에 따라 가공하고 테이블을 설계합니다. 데이터 저장 형식은 자유지만, 대부분의 경우는 CSV나 JSON 등의 범용적인 텍스트 형식이 사용됩니다. 아키텍처 💡 AWS Glue? AWS Glue는 ..

AWS 2022.03.06

[Python] 웹 크롤링 하여 csv 파일로 저장

해외 유명 편집샵인 매치스패션,마이테레사,컬티즘,육스 웹 사이트에서 세일하고 있는 제품을 Python을 활용하여 데이터를 추출하고 csv파일로 저장해보겠습니다. 1. 라이브러리 설치 requests 모듈은 간단한 HTTP 요청 처리를 위해 사용된다. pip install requests HTML 태그를 파싱 하여 사진, 글, 콘텐츠를 사용자가 편리하게 가져올 수 있게 제공해준다. pip install beautifulsoup4 lxml은 XML 및 HTML을 구문 분석하기 위한 매우 간단하고 강력한 API를 제공한다. pip install lxml 2. 웹 페이지 접속 유명한 해외 쇼핑몰인 매치스패션에 세일 중인 상품들을 크롤링해보겠습니다. 먼저 url 주소를 GET 요청을 보내서 서버에서 응답을 받을 ..

Language/Python 2022.03.01

[AWS] Python으로 AWS S3에 이미지 파일 업로드

python에서 AWS 객체 스토리지 서비스인 S3에 접근하여 로컬에 저장된 이미지 파일을 업로드하는 실습입니다. S3란? Amazon S3(Amazon Simple Storage Service)는 업계 최고의 확장성과 데이터 가용성 및 보안과 성능을 제공하는 객체 스토리지 서비스이다. 즉, 어떤 규모 어떤 사업의 고객이든 이 서비스를 사용하여 웹 사이트, 모바일 애플리케이션, 백업 및 복원, 아카이브, 엔터프라이즈 애플리케이션, IoT 디바이스, 빅데이터 분석 등과 같은 다양한 사용 사례에서 원하는 만큼의 데이터를 저장하고 보호할 수 있다. Amazon S3 작동 방식 S3는 데이터를 버킷 내의 객체로 저장하는 객체 스토리지 서비스다. 객체는 해당 파일을 설명하는 모든 메타데이터이다. S3에 데이터를 ..

AWS 2022.02.27

[Spring boot] (2) Spring boot를 활용한 To do Application

To do Application 아키텍처 Repository ORM부터 간단하게 알아보자 Object Relational Mapping은 객체가 테이블이 되도록 매핑시켜주는 프레임워크이다. ORM을 사용하면 SQL 쿼리를 메서드 호출로 대체할 수 있으며 데이터베이스 중심 설계의 단점을 개선하여 효율적으로 개발할 수 있다. 또한 DBMS에 대한 종속성이 줄어들어 프로그래머는 객체에만 집중하면 되고, DBMS를 교체하는 작업에도 적은 시간이 소요된다. ex) SELECT * FROM todo -> todo.findAll() package org.example.repository; import org.example.model.TodoEntity; import org.springframework.data.jpa..

Language/Java 2022.01.23

[Spring boot] (1) Spring boot를 활용한 To do Application

Java의 기본적인 문법을 공부하고 간단한 toy project를 만들어보고 싶었다. 그러던 와중에 패스트캠퍼스 강의에서 spring boot를 활용해서 To do Application 강의가 있었다. 마침 공부해보고 싶은 프레임워크인 Spring boot와 공부했던 java로 기능 구현이 가능했고 무엇보다 많은 오픈소스와 최소한의 구현만으로 필요한 CRUD 기능을 공부할 수 있어서 To doApplication 프로젝트로 정했다. 본 포스팅은 패스트캠퍼스 강의를 참고하여 작성했습니다 필요 기능 Todo 리스트 목록에 아이템을 추가 Todo 리스트 목록 중 특정 아이템을 조회 Todo 리스트 전체 목록을 조회 Todo 리스트 목록 중 특정 아이템을 수정 Todo 리스트 목록 중 특정 아이템을 삭제 Tod..

Language/Java 2022.01.23

[Python] input()함수로 값 여러개 입력 받기

1. input() 파이썬에서 input() 함수를 사용해서 입력을 받습니다. input() 함수는 입력한 값을 모두 문자열 취급합니다. # 1,2,3 입력 a = input() # 123 출력 print(a) 2.split() split()함수는 특정 문자를 기준으로 문자열을 잘라 리스트로 만들어주는 함수이다. input()에 split()을 사용하면 입력한 값을 공백 기준으로 구분하여 변수에 순서대로 저장할 수 있습니다. # 입력받은 값을 공백을 기준으로 구분 # 1,2,3 입력 a,b,c = input().split() # 1,2,3 출력 print(a) print(b) print(c) 3.map() map() 함수는 여러 개의 데이터를 한 번에 다른 형태로 변환시켜 주는 함수입니다. map(변환 ..

Language/Python 2022.01.17