BLOG

Amazon Kinesis 분석을 통한 실시간 핫스팟 감지하기
작성일: 2018-04-04

오늘 저희는 여러분의 스트리밍 데이터에서 “핫스팟”을 감지하기 위한 새로운 머신러닝 기능을 Amazon Kinesis 데이터 분석에 출시할 예정입니다. 2016년 8월에 Kinesis 데이터 분석을 출시한 이후로 계속 기능을 추가해 왔습니다. 이미 알고 계실 것이지만, Kinesis 데이터 분석은 SQL조회를 작성하여 데이터에서 의미를 가져오고 그 결과를 Kinesis 데이터 Firehose, Kinesis 데이터 Streams 또는 AWS Lambda 기능으로 출력할 수 있도록 해 주는 스트리밍 데이터에 대해 완벽하게 관리된 실시간 처리 엔진입니다. 새로운 핫스팟 기능은 고객이 감시되지 않은 스트리밍 기반의 머신러닝 알고리즘을 활용할 수 있도록 Kinesis의 기존 머신러닝 능력에 추가되었습니다. 고객은 이러한 기능을 활용하기 위해 데이터 과학 또는 머신러닝에 대한 전문가가 될 필요가 없습니다.

 

 

 

핫스팟

핫스팟 기능은 복잡한 머신러닝 모델을 구축하고 교육하지 않아도 데이터에 있는 상대적으로 밀집된 영역을 식별하는 데 사용할 수 있는 새로운 Kinesis 데이터 분석 SQL기능입니다. 핫스팟을 Kinesis 데이터 스트림으로 스트리밍하거나, Firehose 배송 스트림에 스트리밍하거나, AWS Lambda 기능을 호출하여 즉각적인 주의가 필요하고 프로그램에 따라 조치가 필요한 데이터의 하위 섹션을 식별할 수 있습니다.

 

이렇게 하면 작업을 더 쉽게 수행할 수 있는 정말 멋진 시나리오가 많이 있습니다. 공유 프로그램이나 자율 차량이 교통 정체와 정체에 관한 공간 정보를 전달하는 것을 상상해 보거나, 많은 서버가 과열되기 시작하여 HVAC문제가 발생하는 데이터 센터를 상상해 보십시오. 핫스팟은 공간 정보 데이터에 제한되지 않으며 여러가지 도메인 문제에 적용할 수 있습니다.

 

이 기능은 몇 가지 간단한 구문을 따르며 DOUBLE, INTEGER, FLOAT, TINYINT, SMALLINT, REAL, and BIGINT 데이터 유형을 허용합니다.
핫스팟 기능은 커서를 입력으로 선택하고 핫스팟을 설명하는 JSON문자열을 반환합니다. 예제를 들면 이해하기가 더 쉬울 것입니다.

 

Kinesis 데이터 분석을 사용하여 핫스팟 감지

NY택시와 리무진 커미션에서 노란색 택시 픽업 장소와 하차 위치를 추적하는 간단한 데이터세트를 가져가 봅시다. 이 자료의 대부분은 이미 S3에 있고 s3://nyc-tlc/ 에 공개적으로 접근할 수 있습니다. 우리는 우리의 Kinesis 데이터 분석에 도움이 될 택시 기록이 담긴 Kinesis 데이터 스트림을 로딩하기 위해 작은 파이썬을 만들 것입니다. 마지막으로 이 모든 것을 Kibana와의 시각화를 위해 Amazon Elasticsearch 서비스 클러스터에 연결된 Kinesis 데이터 Firehose에 출력할 것입니다. 뉴욕에 5년간 살면서 이 자료에서 한 두 개 정도의 핫스팟을 발견할 수 있다는 것을 알게 되었습니다.

우선, 우리는 입력 Kinesis 스트림을 만들어 NYC 택시 라이드 데이터를 보내기 시작할 것입니다. 방금 CSV파일 중 하나에서 읽어 올 수 있는 간단한 파이썬 스크립트를 작성했으며 boto3을 사용하여 기록을 Kinesis에 푸시하는 데 사용했습니다. 그 기록은 어떤 방법으로든 넣을 수 있습니다.

 

 

그런 다음, Kinesis 데이터 분석 애플리케이션을 생성하고 택시 데이터를 소스로 사용하여 입력 스트림을 추가하겠습니다.

 

 

 

다음에는 스키마를 자동으로 검색하겠습니다.

 

 

이제 핫스팟을 감지하여 빠른 SQL스크립트를 생성하고 애플리케이션의 실시간 분석 섹션에 추가하겠습니다.

 

 

 

핫스팟 기능은 입력 스트림, 창 크기, 스캔 반경 및 최소 포인트 수를 핫스팟으로 계산합니다. 이에 대한 값은 애플리케이션에 따라 다르지만 원하는 결과를 얻을 때까지 콘솔에서 손쉽게 처리할 수 있습니다. 설명서의 매개 변수에 대한 자세한 내용이 있습니다. 핫스팟 결과에는 핫스팟 주위에 경계 상자를 배치할 수 있는 유용한 JSON이 몇 개 있습니다.

 

 

원하는 결과가 나오면 스크립트를 저장하고 애플리케이션을 Amazon Elastic 검색 서비스 Firehose 딜리버리 스트림에 연결할 수 있습니다. firehose에서 중간에 있는 Lambda 기능을 실행시켜 우리의 기록을 지리적 작업에 더 적합한 형식으로 변환할 수 있습니다. 그런 다음 Elasticsearch에서 매핑을 업데이트하여 핫스팟 개체를 지리 형태로 인덱싱할 수 있습니다.

마지막으로, 우리는 Kibana에 접속해서 결과를 시각화 할 수 있습니다.

 

 

맨하탄이 꽤 바빠 보이네요!

 

지금 가능합니다.

이 기능은 현재 Kinesis 데이터 분석을 사용하여 모든 기존 영역에서 사용할 수 있습니다. 이것은 Kinesis 데이터 분석의 흥미로운 새로운 기능으로, 많은 애플리케이션에 즉각적인 가치를 가져올 수 있다고 생각합니다.

 

원문 URL: https://aws.amazon.com/ko/blogs/aws/real-time-hotspot-detection-in-amazon-kinesis-analytics/

** 메가존 TechBlog는 AWS BLOG 영문 게재글중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아서, 정기적으로 게재하고 있습니다. 추가로 번역및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달해드리도록 하겠습니다.