Kinesis - 아마존 EMR

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Kinesis

Amazon EMR 클러스터는 Hive, Pig MapReduce, 하둡 스트리밍 및 캐스케이딩과 같은 하둡 에코시스템의 친숙한 도구를 사용하여 Amazon Kinesis 스트림을 직접 읽고 처리할 수 있습니다. API 또한 Amazon Kinesis의 실시간 데이터를 Amazon S3, Amazon DynamoDB 및 실행 중인 클러스터의 기존 데이터와 결합할 수 있습니다. HDFS Amazon에서 Amazon S3 또는 DynamoDB로 데이터를 직접 EMR 로드하여 사후 처리 작업을 수행할 수 있습니다. Amazon Kinesis 서비스 주요 기능 및 요금에 대한 자세한 내용은 Amazon Kinesis 페이지를 참조하세요.

EMRAmazon과 Amazon Kinesis의 통합으로 무엇을 할 수 있습니까?

EMRAmazon과 Amazon Kinesis를 통합하면 특정 시나리오가 훨씬 쉬워집니다. 예를 들면 다음과 같습니다.

  • 스트리밍 로그 분석 - 스트리밍 웹 로그를 분석하여 리전, 브라우저 및 액세스 도메인에 따라 몇 분마다 상위 10개의 오류 유형 목록을 생성할 수 있습니다.

  • 고객 참여 - Amazon Kinesis의 클릭스트림 데이터를 DynamoDB 테이블에 저장된 광고 캠페인 정보와 조인하여 특정 웹 사이트에 표시되는 가장 효과적인 광고 카테고리를 식별하는 쿼리를 작성할 수 있습니다.

  • 임시 대화형 쿼리 — Amazon Kinesis 스트림의 데이터를 주기적으로 로드하여 HDFS 로컬 Impala 테이블로 만들어 빠른 대화형 분석 쿼리를 수행할 수 있습니다.

Amazon Kinesis 스트림의 분석 검사

사용자는 Amazon Kinesis 스트림에 대해 반복이라고 하는 주기적인 배치 분석을 실행할 수 있습니다. Amazon Kinesis 스트림 데이터 레코드는 시퀀스 번호를 사용하여 검색되므로 Amazon이 DynamoDB 테이블에 저장하는 시작 및 종료 시퀀스 번호로 반복 경계가 정의됩니다. EMR 예를 들어 iteration0이 끝나면 DynamoDB에 종료 시퀀스 번호를 저장하므로 iteration1 작업이 시작되면 스트림에서 후속 데이터를 검색할 수 있습니다. 스트림 데이터의 이 반복 매핑을 검사라고 합니다. 자세한 내용은 Kinesis 커넥터를 참조하세요.

이터레이션이 체크포인트로 처리되고 작업이 이터레이션을 처리하지 못한 경우 Amazon은 해당 이터레이션의 레코드를 EMR 재처리하려고 시도합니다.

검사는 다음을 수행할 수 있는 기능입니다.

  • 동일한 스트림 및 논리 이름에서 실행된 이전 쿼리에서 시퀀스 번호가 처리된 후에 데이터 처리를 시작합니다.

  • 이전 쿼리에서 처리한 Kinesis의 동일한 데이터 배치를 재처리합니다.

검사를 활성화하려면 스크립트에서 kinesis.checkpoint.enabled 파라미터를 true로 설정합니다. 또한 다음 파라미터를 구성합니다.

구성 설정 설명
kinesis.checkpoint.metastore.table.name 검사 정보가 저장되는 DynamoDB 테이블 이름
kinesis.checkpoint.metastore.hash.key.name DynamoDB 테이블의 해시 키 이름
kinesis.checkpoint.metastore.hash.range.name DynamoDB 테이블의 범위 키 이름
kinesis.checkpoint.logical.name 현재 처리의 논리적 이름
kinesis.checkpoint.iteration.no 논리적 이름과 연관된 처리의 반복 번호
kinesis.rerun.iteration.without.wait 실패한 반복이 시간 초과를 기다리지 않고 다시 실행할 수 있는지 여부를 나타내는 부울 값입니다. 기본값은 false입니다.

Amazon DynamoDB 테이블에 대한 프로비저닝된 IOPS 권장 사항

Amazon Kinesis용 Amazon EMR 커넥터는 DynamoDB 데이터베이스를 체크포인트 메타데이터에 대한 지원으로 사용합니다. Amazon 클러스터를 사용하여 Amazon Kinesis 스트림에서 체크포인트 간격으로 데이터를 사용하기 전에 먼저 DynamoDB에 테이블을 생성해야 합니다. EMR 테이블은 Amazon EMR 클러스터와 동일한 지역에 있어야 합니다. DynamoDB 테이블에 프로비저닝해야 하는 일반적인 권장 사항은 다음과 같습니다. j 동시에 실행할 수 있는 Hadoop 작업 (논리적 이름+반복 번호 조합이 다름) 의 최대 s 수와 모든 작업에서 처리할 샤드의 최대 개수를 지정합니다. IOPS

읽기 용량 유닛: j*s/5

쓰기 용량 유닛: j*s

성능 고려 사항

Amazon Kinesis 샤드 처리량은 Amazon EMR 클러스터의 노드 인스턴스 크기 및 스트림의 레코드 크기에 정비례합니다. 프라이머리 및 코어 노드에는 m5.xlarge 또는 더 큰 인스턴스를 사용하는 것이 좋습니다.

아마존과 함께 아마존 키네시스 분석 일정을 잡으세요 EMR

제한 시간과 최대 반복 기간 제한이 있는 활성 Amazon Kinesis 스트림에서 데이터를 분석하는 경우, 분석을 자주 실행하여 스트림에서 정기적으로 세부 정보를 수집해야 합니다. 이러한 스크립트와 쿼리를 주기적으로 실행하는 방법에는 여러 가지가 있지만 이처럼 반복적인 작업에는 AWS Data Pipeline 을 사용하는 것이 좋습니다. 자세한 내용은 AWS Data Pipeline 개발자 안내서 AWS Data Pipeline PigActivityAWS Data Pipeline HiveActivity을 참조하십시오.