일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- java8
- aws lambda
- 환경구성
- aws S3
- 자바8
- AWS Athena
- naver smartEditor
- db
- JavaScript
- ibsheet
- 환경 구성
- jQuery
- function
- intellij
- Study
- AWS
- 로그 데이터
- athena
- 카이호스트만
- Java
- 자바
- 자바스크립트
- 인텔리J
- #jQuery
- s3
- Git
- 아이비시트
- AWS Glue
- Log
- AWS SQS
- Today
- Total
목록AWS (14)
애매한 잡학사전
아래의 표와 같은 날짜가 동적으로 변경되는 List를 화면에 출력할 때 일반적인 RDB에서는 PIVOT 기능을 활용하여 쿼리를 아래 표와 같은 모양으로 실행하면 쉽게 구현할 수 있습니다. 그러나 AWS Athena에서는 아래 표와 같은 모양으로 쿼리를 실행할 수 없어서 JAVA에서 List를 만들어 주려고 합니다. 회사 코드 회사 명 2022-01-01 2022-01-02 2022-01-03 2022-01-04 2022-01-05 ... COMP001 우리회사 100 200 110 110 123 ... COMP002 니네회사 200 330 111 220 444 ... Athena Table 구조 Athena 테이블 구조는 다음과 같이 같단하게 구성하였습니다. CREATE EXTERNAL TABLE ex_..
1. 개요 - 상황 1) 사용자가 Web에서 클릭한 모든 기능에 대해 데이터베이스에 저장 2) 하루 평균 40만 ~ 50만 건의 데이터가 저장 3) 현재까지 약 4억 건의 데이터가 저장 되어 있음 4) DBMS에서 쿼리 실행 시 Web 사용자가 많을 경우 DB lock 현상이 발생 5) 운영 DB와 Data log 데이블이 한 서버에 있어서 log 데이터 조회 시 DB 커넥션 증가 : 위 상황으로 인해 log data를 효율적으로 활용할 수 있게 새로운 시스템으로 이관이 필요해 진행 하였고 히스토리를 정리하려고 합니다. 2. 환경 - 데이터베이스 : MS-SQL - 개발언어 : JAVA - 도입 시스템 : AWS S3, AWS Athena, AWS Lambda, AWS SQS, AWS Glue, Java..
1. Flow - Batch 프로그램으로 별도의 시스템을 사용하지 않고 바로 S3로 데이터를 저장하는 프로세스 2. 환경 세팅 - 내용이 너무 많아 별도로 정리 하였습니다. 각 링크를 참고하시면 되겠습니다. 2-1. Batch - 일반 Java application (maven) 프로젝트 생성 2-2. AWS S3 로그 데이터 처리를 위한 AWS S3 환경 구성 - 버킷 생성 : 버킷 이름 작성 후 나머지 옵션들은 그냥 기본으로 놓고 스크롤 제일 하단으로 내린 후 버킷 만들기 버튼 선택 dev-gabriel.tistory.com 2-3. AWS Glue 로그 데이터 처리를 위한 AWS Glue 환경 구성 1. AWS Glue Crawler 추가 - 클롤러 추가 버튼 클릭 합니다. - 크롤러 이름을 입력 ..
1. Flow - Batch, AWS SQS, AWS Lambda 사용 2. 환경 구성 - 내용이 너무 많아 별도로 정리 하였습니다. 각 링크를 참고하시면 되겠습니다. 2-1. Batch - 일반 Java application (maven) 프로젝트 생성 2-2. AWS SQS 로그 데이터 처리를 위한 AWS SQS 환경 구성 1. 대기열 생성 - AWS 콘솔 접속 후 AWS SQS 페이지로 이동 - 대기열 생성 버튼 클릭 - 대기열 세부 정보 입력 - 구성 정보 입력 (default 유지, 필요시 수정) - 액세스 정책 선택 (default 유지) - 대기열.. dev-gabriel.tistory.com 2-3. AWS Lambda 로그 데이터 처리를 위한 AWS Lambda 환경 구성 1. 람다 함수..
1. Flow - AWS SQS, AWS Lambda 사용 2. 환경 세팅 - 내용이 너무 많아 별도로 정리 하였습니다. 각 링크를 참고하시면 되겠습니다. 2-1. AWS SQS 로그 데이터 처리를 위한 AWS SQS 환경 구성 1. 대기열 생성 - AWS 콘솔 접속 후 AWS SQS 페이지로 이동 - 대기열 생성 버튼 클릭 - 대기열 세부 정보 입력 - 구성 정보 입력 (default 유지, 필요시 수정) - 액세스 정책 선택 (default 유지) - 대기열.. dev-gabriel.tistory.com 2-2. AWS LAMBDA 로그 데이터 처리를 위한 AWS Lambda 환경 구성 1. 람다 함수 생성 - AWS 콘솔 접속, lambda 검색 후 서비스 선택 - 왼쪽 메뉴에서 함수 선택 후 오른..
1. 대기열 생성 - AWS 콘솔 접속 후 AWS SQS 페이지로 이동 - 대기열 생성 버튼 클릭 - 대기열 세부 정보 입력 - 구성 정보 입력 (default 유지, 필요시 수정) - 액세스 정책 선택 (default 유지) - 대기열 생성 버튼 클릭 (나머지 옵션 사항은 필요 시 수정) - 대기열 생성 완료 2. 대기열 엑세스 정책 추가 - AWS SQS 세부 정보의 arn 항목의 주소를 복사 - AWS SQS 의 엑세스 정책 탭 선택 후 액세스 정책(권한) 항목의 편집 버튼 클릭 - 변경된 화면에서 액세스 정책 항목의 '정책 생성기'를 클릭 - 각 항목 입력 후 Add Statement 버튼 클릭 -> Principal : * -> Actions : "sqs:CreateQueue, sqs:GetQu..
1. 람다 함수 생성 - AWS 콘솔 접속, lambda 검색 후 서비스 선택 - 왼쪽 메뉴에서 함수 선택 후 오른쪽 목록에서 함수 생성 버튼 클릭 - 함수 생성 기본 정보 입력 - 런타임은 각자 상황에 맞는 언어를 선택해서 사용 - 기본 정보 입력 후 함수 생성 버튼 클릭 - 함수 생성 완료 2. Lambda 함수에 소스 업로드 - 코드 소스 업로드시 '에서 업로드' 버튼 클릭, 런타임 설정시 '편집' 버튼 클릭 2-1. 코드 소스 업로드 - '.zip 또는 .jar 파일' 항목 선택 - 파일 업로드 후 저장 버튼 클릭 2-2. 런타임 설정 - 핸들러 정보 항목에 실행 핸들러 패키지 정보 입력 후 저장 버튼 클릭 3. 테스트 이벤트 - 각 항목 입력 후 저장 버튼을 클릭 하면 해당 테스트가, 저장되고 ..
1. Flow - Redis, Batch 프로그램 사용 2. 환경 세팅 - 내용이 너무 거대해지는 것 같아서 별도로 정리하였습니다. 각 링크를 참고하시면 되겠습니다. 2-1. Redis 개발(로컬) PC에 REDIS 테스트 환경 세팅 - 2022년 6월 27일 Redis for windows 는 공식적으로 지원하지 않기 때문에 개발pc에서 테스트를 하고 싶을 경우 Microsoft Store에서 Ubuntu 22.04 LTS 를 설치해서 사용할 수 있습니다. - 공식 홈페이지 Redis R.. dev-gabriel.tistory.com 2-2. AWS S3 로그 데이터 처리를 위한 AWS S3 환경 구성 - 버킷 생성 : 버킷 이름 작성 후 나머지 옵션들은 그냥 기본으로 놓고 스크롤 제일 하단으로 내린 ..
1. AWS Glue Crawler 추가 - 클롤러 추가 버튼 클릭 합니다. - 크롤러 이름을 입력 후 다음을 버튼 클릭합니다. - 크롤러 소스 타입 : 이미 테이블을 생성했기 때문에 Existing catalog tables 선택 후 다음 버튼 클릭 - Catalog table 추가 : AWS Athena 용으로 생성한 S3 선택 후 다음 버튼 클릭 - IAM 역할 선택 : 적당한 이름 입력 후 다음 버튼을 클릭합니다. - 크롤러 일정 생성 : 일단은 테스트용이기 때문에 온디맨드로 설정하고 다음 버튼을 클릭합니다. : 추후 필요하다면 수정할 수 있습니다. - 크롤러 출력 구성 : 디폴트로 그냥 놔두고 다음 버튼을 클릭합니다. - 크롤러 정보 확인 : 입력한 크롤러 정보가 맞는지 확인 후 마침 버튼을 클..