Immersion In Data

전체 글 196

AWS기반 데이터 분석 파이프라인 구축[8]

학습 결과 서버리스 데이터 레이크 아키텍처 설계Amazon S3 스토리지를 사용하여 데이터를 Data Lake로 수집하는 데이터 처리 파이프라인 구축실시간 스트리밍 데이터에 Amazon Kinesis 사용AWS Glue를 사용하여 데이터 세트 자동 분류AWS Glue 개발 엔드포인트에 연결된 Amazon SageMaker Jupyter 노트북에서 대화형 ETL 스크립트 실행Glue에서 Amazon Redshift로 데이터 적재Amazon Athena를 사용하여 데이터를 쿼리하고 Amazon QuickSight를 사용하여 시각화   삭제 할 리소스실습을 마무리하면서 사용했던 리소스를 정리하지 않으면 AWS 사용 요금이 계속해서 발생한다. 따라서 아래 모든 단계에 따라 생성된 모든 리소스를 삭제한다. 1. ..

AWS 2022.10.19

AWS기반 데이터 분석 파이프라인 구축[7]

실습과정Amazon Redshift 클러스터를 설정하고 S3 데이터를 Amazon Redshift로 로드  1. Redshift IAM 역할 생성 이 단계에서는 Redshift 클러스터를 위한 IAM 역할을 생성한다.   AWS 서비스 선택다른 AWS 서비스 사용 사례 : RedshiftRedshift - Customizable 선택AmazonS3FullAccess, AWSGlueConsoleFullAccess 권한 추가   역할 이름 : Analyticsworkshop_RedshiftRole2단계 권한추가에 전에 추가한 정책 확인  2. Redshift 클러스터 생성 이 단계에서는 2노드 Redshift 클러스터를 생성하여 작은 스타 스키마 데이터베이스를 생성한다.    클러스터 식별자 : redshi..

AWS 2022.10.19

AWS기반 데이터 분석 파이프라인 구축[6]

실습과정Lambda 함수를 작성하여 Athena가 S3의 processed_data에서 Hits 별 Top5 Popular Songs를 쿼리하여 가져오는 코드를 호스팅  AWS Athena : 표준 SQL을 사용하여 데이터를 간편하게 분석할 수 있는 대화식 쿼리 서비스(Athena는 서버리스 서비스이므로 관리할 인프라가 없으며 실행한 쿼리에 대해서만 비용을 지불함)AWS Lambda : 서버를 관리하지 않고도 코드를 실행할 수 있는 AWS에서 제공하는 서버리스 컴퓨팅 시스템(서버리스 : 서버가 없는 것이 아니라 서버에 대한 요청을 처리하는 로직을 함수 단위로 정의하여 요청이 들어올 때마다 함수를 호출하는 방식) 1. Lambda 함수 생성Lambda 서비스를 사용하기 위해 lambda 함수를 생성한다. ..

AWS 2022.10.18

백준 4948번 : 베르트랑 공준

https://www.acmicpc.net/problem/4948 4948번: 베르트랑 공준 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼 www.acmicpc.net def checkvalue(num): a = int(num**0.5) if num == 1: return False else: for i in range(2, a+1): if num % i == 0: return False return True lst = [] for i in list(range(2, 246912)): #제한 1

Python/Baekjoon 2022.10.18

백준 1929번 : 소수 구하기

https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net M, N = map(int, input().split()) for num in range(M,N+1): if num == 1: continue for k in range(2, int(num**0.5)+1): #제곱근까지만 나누기 if num % k == 0: break else: print(num)

Python/Baekjoon 2022.10.18

백준 2581번 : 소수

https://www.acmicpc.net/problem/2581 2581번: 소수 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. www.acmicpc.net M = int(input()) N = int(input()) sosu = [] for num in range(M,N+1): error = 0 if num > 1: for k in range(2, num): # 2부터 n-1까지 if num % k == 0: error += 1 # 2부터 n-1까지 나눈 몫이 0이면 error가 증가 break if error == 0: sosu.append(num) # er..

Python/Baekjoon 2022.10.17

백준 1978번 : 소수 찾기

https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net n = int(input()) numbers = map(int, input().split()) sosu = 0 for num in numbers: error = 0 if num > 1 : for i in range(2, num): # 2부터 n-1까지 if num % i == 0: error += 1 # 2부터 n-1까지 나눈 몫이 0이면 error가 증가 if error == 0: sosu += 1 # error가 없으면 소수. print(sosu)

Python/Baekjoon 2022.10.14

백준 2839번 : 설탕 배달

https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net N = int(input()) cnt = 0 while N >= 0: if N % 5 == 0: cnt += (N//5) print(cnt) break N -= 3 cnt += 1 else: print(-1)

Python/Baekjoon 2022.10.13