소개

완료됨

Apache Kafka 및 Apache Spark와 함께 Azure HDInsight를 사용하여 클라우드에서 실시간 스트리밍 데이터 분석 파이프라인 및 애플리케이션을 만들 수 있습니다.

Apache Kafka는 여러 시스템에서 수신 스트리밍 데이터를 가져와 다른 애플리케이션에서 실시간으로 사용할 수 있도록 하는 분산형 메시징 시스템입니다. Apache Kafka는 순서가 지정된 데이터 큐를 만든 다음 단일 실패 지점이 없도록 여러 머신에 데이터를 복제하여 게시자 또는 소비자가 사용할 수 있게 하는 방식으로 작동합니다. 게시자는 메시지를 생성하여 Kafka 큐에 추가하는 클라이언트이며, 소비자는 구독을 기반으로 메시지를 받습니다.

Apache Spark는 Apache Kafka와 같은 시스템에서 데이터를 가져와서 데이터를 변환하고 대응할 수 있도록 하는 병렬 처리 시스템입니다. Apache Kafka를 사용하여 데이터를 활용하고 저장할 수 있으며 Apache Spark를 사용하여 데이터를 수정하고 처리할 수 있습니다. 둘을 함께 사용하면 Spark는 Kafka에서 소규모 일괄 처리 또는 연속 데이터 스트림을 수집하고 이를 구조적 스트리밍이라는 기능을 사용하여 실시간으로 처리할 수 있습니다. 회사가 구조적 스트리밍을 구현할 때 단일 아키텍처를 사용하여 일괄 처리 데이터, 실시간 스트리밍 데이터 또는 이 둘의 조합을 처리할 수 ​​있으므로 다른 프레임워크를 학습하거나 구현하지 않고도 일괄 처리에서 이동하여 실시간 처리를 포함하도록 하여 애플리케이션 수준을 높일 수 있습니다.

Azure HDInsight에서 Apache Kafka 및 Apache Spark를 사용하여 이 아키텍처를 수 분 내에 만들 수 있으며, 온라인 클라우드 공급자의 스케일링 성능 및 고가용성을 활용할 수 있습니다. 회사는 이러한 워크로드를 온-프레미스 Kafka 및 Spark 애플리케이션에서 클라우드로 보다 쉽게 마이그레이션할 수도 있습니다.

Apache Spark 및 Apache Kafka는 수신 데이터와 일괄 처리 데이터를 아주 짧은 대기 시간을 가지고 처리할 수 있어야 하는 금융 업계의 데이터 엔지니어에게 적합한 도구일 수 있습니다.

학습 목표

이 모듈의 학습 목표는 다음과 같습니다.

  • HDInsight 사용하기
  • Apache Kafka를 사용한 데이터 스트림
  • Spark 구조적 스트리밍 설명
  • Kafka Spark 아키텍처 만들기
  • HDInsight를 프로비저닝하여 데이터 변환 수행
  • Kafka 생산자 만들기
  • Kafka 데이터를 Jupyter Notebook으로 스트림
  • 보조 클러스터에 데이터 복제