일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- node.js
- 태국
- 카마츠루
- terraform
- PayPay
- 미츠이 스미토모
- local
- PostgreSQL
- javascript
- duckdb
- 프라하
- 체코
- pyenv
- CSV
- vba
- documentdb
- react.js
- JenkinsFile
- 메르페이
- typescript
- Selenium
- 釜つる
- 페이페이
- 熱海
- codebuild
- 三井住友カード
- 뮌헨
- 아타미
- 방콕
- Python
- Today
- Total
목록Tech/AWS for Data Engineering (8)
도쿄사는 외노자
:::note info수년전 회사 블로그에 적었던 내용을 적당히 클렌징 및 한국어로 번역해서 올림:::개요AWS Codebuild 를 이용하여, Git 상의 dbt project 를 스케줄 실행하는 방법을 간단히 검증상세아래의 순서로 실시AWS CodeBuild 로 빌드 프로젝트를 만들어, buildspec.yml 파일 작성AWS EventBridge 로 빌드 스케줄 설정AWS CodeBuild 로 빌드 프로젝트를 만들어, buildspec.yml 파일 작성작업 순서AWS CodeBuild 에서 빌드 프로젝트 작성OAuth 로 Github 연결Github 에 연결이 되면, 아래와 같이 리포지토리 설정이 가능AWS CodeBuildでBitBucketの特定ブランチからソースを読み込む方法계속해서 설정builds..
DynamoDB 를 로컬 환경에서 구동하기https://hub.docker.com/r/amazon/dynamodb-localhttps://hub.docker.com/r/aaronshaf/dynamodb-admin준비물DockerDocker Desktop 설치https://docs.docker.com/desktop/install/mac-install/AWSAWS-CLI 설치https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.htmlboto3pip install boto3https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.htmlConfigure원활한 ..
개요 Eventbridge Scheduler를 이용해 Lambda를 정기적으로 기동, Teams에 Adaptive Card 형식으로 자동 통지를 구현 상세 폴더 구조 python과 terraform으로 폴더를 나눔. . ├── README.md ├── python │ ├── layer │ │ └── python │ └── main.py └── terraform └── main.tf 혹시 관리하는 aws 환경이 여러개라면, terraform 폴더 아래에 dev, prod 등의 폴더를 나누고 그 안에서 terraform init 을 할 것. Lambda pymsteams 에서 adaptive card 를 이용하여, Teams 에 byname 으로 멘션 통지. import pymsteams from typin..
개요 Glue Jobs에서 Tableau로 데이터 연계 방법을 검증 상세 AWS Glue Jobs에서 S3의 엑셀 파일을 불러와 Tableau의 데이터 타입인 Hyper로 바꿔서 Tableau에 Publish해 보았다. 위의 내용을 3개의 파트로 나누어 검증. S3의 엑셀 파일을 Pandas DataFrame으로 받아오기 PandasDF로 Hyper파일 만들기 Hyper파일을 Tableau Server에 보내기 외부 라이브러리 Import Glue Job에서는 외부 라이브러리를 사용할 경우 아래와 같이 설정해야 한다. 같은 Glue Job이라도 notebook과 script로 대응 방법이 갈리니 주의. AWS Glue와 함께 Python 라이브러리 사용 Notebook %additional_python_..
Glue Crawler로 대충 아래와 같은 데이터를 읽어와야 했다. 대충 Crawler를 만들어 돌려 보니, Athena에서 이렇게 표시되더라. 쌍따옴표 안의 자릿수 콤마를 그냥 무식하게 나눠버린 것. 일단 해결책은 아래와 같다. https://docs.aws.amazon.com/ko_kr/athena/latest/ug/glue-best-practices.html#schema-csv-quotes Athena와 AWS Glue를 함께 사용하는 모범 사례 - Amazon Athena Athena와 AWS Glue를 함께 사용하는 모범 사례 AWS Glue 데이터 카탈로그와 함께 Athena를 사용하면 AWS Glue를 사용하여 Athena에서 쿼리할 데이터베이스와 테이블(스키마)을 만들거나, Athena를 ..
https://docs.aws.amazon.com/ko_kr/awscloudtrail/latest/userguide/cloudwatch-log-group-log-stream-naming-for-cloudtrail.html CloudTrail에 대한 CloudWatch 로그 그룹 및 로그 스트림 이름 지정 - AWS CloudTrail CloudTrail 로그 볼륨이 큰 경우 로그 데이터를 로그 그룹에 전달할 수 있도록 여러 개의 로그 스트림을 만들 수 있습니다. docs.aws.amazon.com https://stackoverflow.com/questions/64879420/terraform-aws-cloudtrail-configurations-fails Terraform AWS CloudTrail c..
일단 Glue Job의 상식. Bookmark를 켜둔 상태로 같은 데이터에 대고 Job을 2번 실행할 시, 두번째 실행은 데이터를 0건 취득한다. 근데 데이터가 없다고 따로 종료시켜주거나 하는 게 없고, 그냥 데이터가 없는 상태로 들이박아버리더라. 데이터가 없는 상태에서 데이터 변환을 하려니 당연히 아래와 같은 에러가 터진다. 그러니 데이터가 없으면 종료시켜주는 처리를 넣고 싶었다. 그런데 이게 또 뭐 종료용 명령 같은건 없고, 그냥 파이썬의 exit() 를 써야 하는데... sys.exit(0)을 쓰면 아래와 같이 에러로 처리된다. os._exit(0)을 써야 Succeeded가 되더라. 이런 식으로 사용하면 된다. import os if df.count() == 0: job.commit() os._e..
현재 아래의 동작을 검증 중이다. KMS 커스토머 관리 키 생성 및 Glue Data Catalog 암호화 KMS키로 암호화한 S3 Bucket에 원본 데이터 투입 Glue Jobs로 데이터 조작 및 클렌징 결과물을 암호화한 다른 Bucket에 격납 Glue Crawler로 결과물 긁어와서 Glue Data Catalog에 투입 Data Catalog에 생성된 테이블의 데이터를 Athena로 확인 데이터가 정상적으로 확인되면 Redshift 경유로 Tableau에 연결 JSON형식의 뉴스 기사를 CSV로 출력하여 크롤러로 긁어서 6까지 왔는데... 아테나가 뉴스 본문의 줄바꿈에 대응을 해주지 않고, 그냥 데이터 한줄씩 땡겨버리드라. 이게 아테나만 그런거면 그냥 무시해도 되는데, 7도 마찬가지다. 아무래도..