brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Dec 03. 2021

598. EMR, S3, DynamoDB 사용

이론, 개념잡기


EMR로 S3와 DynamoDB 데이터 내보내기 및 가져오기

EMR로 S3와 DynamoDB 간  데이터를 업로드해보자~





<1> 결과 s3 생성

<2>  EMR  Hive 생성, 다이나모 DB 생성

<3>  command-host ec2 생성과 emr master  접속

<4>  참조 테이블 생성

<5> Hive  이용하여 DynamoDB에 업로드

<6> 쿼리 해보기

<7>  DynamoDB 데이터를  S3에 업로드

<8> S3에서 업로드된 데이트 확인



<1> 결과 s3 생성


dynamodb-bucket-seo1234



<2>  EMR Hive 생성, 다이나모 DB 생성


1

EMR Hive 생성

https://brunch.co.kr/@topasvga/2009


EMR Master 보안그룹에 ssh 허용 필요

0.0.0.0/0  22


2

다이나모 DB 생성


테이블 이름

table1

파티션 키 지정

id1

Customize setting으로 변경 

Read off 100

Write off 100

생성


참고

다이나모 디비 생성 시 읽기와 쓰기를 지정해야 한다.

RI구매 시에도  읽기와 쓰기 별도 구매를 해야 한다.




<3>  command-host ec2 생성과 emr master  접속


EMR Master에 접속하기


1

테스트emr을 public에 설치한 경우 직접 접속

or


2

테스트 emr은 private에 설치한 경우, command-host ec2 접속후 emr master  접속


export ID=$(aws emr list-clusters | jq '.Clusters[0].Id' | tr -d '"')

export HOST=$(aws emr describe-cluster --cluster-id $ID | jq '.Cluster.MasterPublicDnsName' | tr -d '"')

ssh -i   ~/EMRKey.pem hadoop@$HOST

yes



<4> 참조 테이블 생성


1

sudo chown hadoop -R /var/log/hive

mkdir /var/log/hive/user/Hadoop

hive


2

SET 

dynamodb.throughput.read.percent=1.0

;


3

S3 외부 테이블 생성

DynamoDB 외부 테이블 생성



<5> Hive  이용하여 DynamoDB에 업로드



<6> 쿼리 해보기



<7>  DynamoDB 데이터를  S3에 업로드



<8> S3에서 업로드된 데이트 확인




https://brunch.co.kr/@topasvga/1766


감사합니다.







브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari