반응형

AWS 12

AWS DMS로 가져온 Transaction 정보를 이용해 databricks delta table 에서 merge into 하기

AWS DMS(Data Migration Service)를 사용하여 Aurora PostgreSQL 를 AWS S3에 날짜 기준으로 파티셔닝 하여 적재 AWS DMS 를 사용해 Aurora PostgreSQL → AWS S3로 파티셔닝 해 적재해본다. 1. 복제 인스턴스 생성 VPC와 subnetgroup을 잘 선택하여 생성한다. 생성 시 ‘퍼블릭 액세스 가능’ 가 선택되어야 S3 접근이 가능 whiseung.tistory.com databricks 에서 Storage Credential 과 External Location 등록해 AWS S3를 Table로 생성하기. Databricks 에서 S3에 파일을 가져와 Table을 생성해본다. 1. AWS 역할(role) 생성 1.1 역할 생성을 위해, man..

AWS 2023.03.06

AWS DMS(Data Migration Service)를 사용하여 Aurora PostgreSQL 를 AWS S3에 날짜 기준으로 파티셔닝 하여 적재

💡 AWS DMS 를 사용해 Aurora PostgreSQL 에서 AWS S3로 데이터를 적재해본다. 초기적재를 진행하고, 증분(Transaction) 데이터에 대해서는 날짜단위로 파티셔닝을 적용하여 적재를 수행한다. AWS DMS(Data Migration Service) 를 이용해 데이터를 마이그레이션할 때, 사용하는 메뉴는 크게 아래와 같다 - 복제 인스턴스 : 복제를 하기 위한 VM - 엔드포인트 : 소스와 타겟을 설정 - 데이터베이스 마이그레이션 테스크 : 실제 복제가 수행 되는 테스크 순서로 작업을 구성한다. 1. 복제 인스턴스 생성 VPC와 subnetgroup을 잘 선택하여 생성한다. 생성 시 ‘퍼블릭 액세스 가능’ 가 선택되어야 S3 접근이 가능하다. 퍼블릭 엑세스 기능을 끄고 S3에 접..

AWS 2023.02.23

AWS Glue에서 ngdbc 를 이용해 SAP HANA CLOUD 데이터를 S3에 저장하기

이번엔 SAP HANA CLOUD 데이터를 가져와본다. 전달받은 접속정보는 URL이고, 포트는 443 이어서 당황했다. 하지만 접속은 어렵지않았다. hdbcli 를 통해서도 동일하게 처리가 가능했다. https://whiseung.tistory.com/entry/AWS-Glue%EC%97%90%EC%84%9C-hdbcli-%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%B4-SAP-BW-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%A5%BC-S3%EC%97%90-%EC%A0%80%EC%9E%A5%ED%95%98%EA%B8%B0 AWS Glue에서 hdbcli 를 이용해 SAP BW 데이터를 S3에 저장하기 SAP BW 에서도 데이터를 가져와 했다. SAP은 처음이다. (RFC와 ..

AWS 2023.01.04

AWS Glue에서 hdbcli 를 이용해 SAP BW 데이터를 S3에 저장하기

SAP BW 에서도 데이터를 가져와 했다. SAP은 처음이다. (RFC와 ODATA는 해봤지만) SAP 엔지니어가 jdbc를 통해 SAP에 붙을 수 있도록 환경 설정을 해주었다. hdbcli 라이브러를 이용해 접속을 해보려고한다. 일단 hdbcli 라이브러리를 S3에 업로드하고, Glue 에서 [Advanced properties] - [Python library path] 에 업로드한 라이브러리의 S3 경로를 입력해준다. s3://bucket_name/hdbcli-2.14.23-cp34-abi3-manylinux1_x86_64.whl 일단 테이블 정보를 확인해본다. from hdbcli import dbapi import os import pandas as pd ## SAP BW connection c..

AWS 2023.01.04

AWS Glue에서 Spark를 이용해 MSSQL 데이터를 S3에 파티션 구조로 저장하기

1억 건이 넘는 데이터를 한 파일로 S3에 저장했다. parquet 파일로 저장을 했고, 파일이 2GB가 넘는다. Athena에서 count 쿼리를 날려보니 1억 2천 건이다. Select * FROM table 명령어를 날려본다. 조회하는데 12분이 걸린다. 해당 데이터는 날짜기준 컬럼이 있다. 이 컬름을 기준으로 파티셔닝을 진행해본다. spark 의 partitionBy() 를 사용한다. partitionBy 에서 파티셔닝 할 컬럼명을 입력해준다. import sys from awsglue.transforms import * from awsglue.utils import getResolvedOptions from pyspark.context import SparkContext from awsglue...

AWS 2023.01.02

AWS Glue에서 Spark를 이용해 MSSQL 데이터를 S3에 저장하기

python job을 생성하여 싱글노드로 MSSQL 데이터를 S3에 저장하다보니, 데이터의 양이 1억건이 넘어가면 메모리부족이 발생했다. 데이터 사이즈가 큰 테이블의 경우에는, Spark을 이용해 분산저장을 해야겠다. 일단 Glue Job에서, [Spark script editor] 을 통해 Spark job을 생성한다. import sys from awsglue.transforms import * from awsglue.utils import getResolvedOptions from pyspark.context import SparkContext from awsglue.context import GlueContext from awsglue.job import Job ## @params: [JOB_NA..

AWS 2022.12.26

AWS Glue에서 pymssql 을 이용해 MSSQL 데이터를 S3에 저장하기

AWS Glue를 이용해, MSSQL 의 데이터를 S3에 저장하는 기능을 구현하려한다. Glue 에서 [Python Shell script editor] 를 생성한다. python shell script로 생성하면. gule 1.0으로 생성된다. https://docs.aws.amazon.com/glue/latest/dg/release-notes.html AWS Glue versions - AWS Glue AWS Glue versions You can configure the AWS Glue version parameter when you add or update a job. The AWS Glue version determines the versions of Apache Spark and Python ..

AWS 2022.12.26

KOSIS openAPI 를 AWS Glue 에서 실행해보기

kosis openAPI를 AWS Lambda를 이용해 호출해보는것까지 해보았다. Lambda가 아닌 AWS Glue를 이용해 데이터를 S3에 저장하는 기능을 구현해본다. Glue 서비스로 이동한다. Jobs에 Python script editor를 선택하고 [Create]를 클릭한다. [Script] 탭에, 작성한 python code를 붙여넣고, [Job Detail] 탭으로 이동하여, Job 이름을 설정하고, 그리고 IAM Role을 설정해준다. IAM이 없으면 아래와같이 생성해준다. https://whiseung.tistory.com/entry/AWS-Glue-%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-%EC%9C%84%ED%95%9C-IAM-%EC%83%..

AWS 2022.12.13

AWS Glue 를 사용하기 위한 IAM 생성

AWS Glue를 사용하려고하는데, IAM을 선택해야 실행할수 있엇다. 그래서 IAM을 만들러 왔다. [IAM] - [역할] 로 이동. [역할 만들기] 클릭 신뢰할수 있는 엔티티 유형 중 [AWS 서비스] 를 선택하고, 다른 AWS 서비스의 사용사례에서 [Glue] 를 선택하고 [다음]을 누른다. 권한추가에서, S3접근을 위한 'AmazonS3FullAccess' 와 'AWSGlueServiceRole' 을 선택하고, 다음으로 이동한다. https://docs.aws.amazon.com/ko_kr/glue/latest/dg/create-an-iam-role.html 2단계: AWS Glue에 대한 IAM 역할 생성 - AWS Glue 2단계: AWS Glue에 대한 IAM 역할 생성 AWS Glue가 사..

AWS 2022.12.13
반응형