brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Dec 02. 2021

596.Kinesis Data Analytics 사용법

이론, 개념잡기

<1> Kinesis Data Analytics   사용하기 위한 구성 이해하기(이론)

<2>  실시간 분석을 위해  Kinesis Data Analytics   설정하기

<3>  파이어 호스로 s3에 로그 파일 저장

<4>  S3 가서 결과 확인

<10> 같이 보면 좋은 자료 




<1> Kinesis Data Analytics   사용하기 위한 구성 이해하기(이론)


1

구성?

데이터 -- apigw --kinesis data stream  ---kinesis data analycis --- kinesis data firehorse----s3


Kinesis Data Analytics에서 바로  S3로 못 넣는다.

firehorse를 통해  S3에 데이터를 넣는다.







2

생성?

kinesis data analycis  생성


Kinesis  > SQL applications (legacy)


3

필요 role


{

    "Version": "2012-10-17",

    "Statement": [

        {

            "Action": [

                "kinesis:DescribeStream",

                "kinesis:GetShardIterator",

                "kinesis:GetRecords",

                "kinesis:PutRecord",

                "kinesis:PutRecords"

            ],

            "Resource": [

                "arn:aws:kinesis:us-west-2:111111111111:stream/InputLogStream"

            ],

            "Effect": "Allow",

            "Sid": "ReadInputStream"

        },

        {

            "Action": [

                "s3:*",

                "kinesis:*",

                "firehose:*",

                "sts:AssumeRole"

            ],

            "Resource": [

                "*"

            ],

            "Effect": "Allow",

            "Sid": "Permissions"

        }

    ]

}



4

스키마 추론

SAVE



<2>  실시간 분석을 위해  Kinesis Data Analytics   설정하기


1

소스를 미리 만들어놓은 Kinesis firehorse 나 stream으로 지정한다.


2

Steps to configure your application 확장


3

Configure SQL 

코드 입력

저장


4

Configure SQL 

추출 하고자 하는 코드 다시 입력

저장



<3>  파이어 호스로 s3에 로그 파일 저장


1

데이터 분석은 s3에 직접 저장 못한다.

그래서, 파이어 호스로  S3에 저장한다.


2

Create Delivery Stream 

Source : Direct Put

Destination : Amazon S3

stream name :  firehorse-log1


3

목적지인 s3 만든다

목적지를 s3로 지정한다.


4

Buffer interval  60초로 변경

최대한 빠르게


5

advanced Settin 에서 

파이어 호스 롤을 선택한다.


s3 접근 권한이 필요하다.


{

    "Version": "2012-10-17",

    "Statement": [

        {

            "Action": [

                "s3:AbortMultipartUpload",

                "s3:GetBucketLocation",

                "s3:GetObject",

                "s3:ListBucket",

                "s3:ListBucketMultipartUploads",

                "s3:PutObject"

            ],

            "Resource": [

                "*"

            ],

            "Effect": "Allow",

            "Sid": "firehoses3access"

        }

    ]

}



5

파이어 호스를 데이터 스트림  분석과 연결


데이터 스트림 분석 >  목적지를 추가 >   Kinesis Data Firehose delivery stream  선택 >

iam role  선택


Connect in-application stream

In-application stream name 에서 이름 선택 >


Output format    

CSV로 출력  


> 저장




<4>  S3 가서 결과 확인




<10> 같이 보면 좋은 자료 


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




감사합니다.

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