편집

다음을 통해 공유


HDInsight 및 Delta Lake를 사용하여 이벤트 데이터 관리

Azure HDInsight
Microsoft Entra ID
Azure Load Balancer
Azure ExpressRoute
Azure Virtual Network

솔루션 아이디어

이 문서는 솔루션 아이디어입니다. 잠재적인 사용 사례, 대체 서비스, 구현 고려 사항 또는 가격 책정 지침과 같은 추가 정보로 콘텐츠를 확장하려면 GitHub 피드백을 제공하여 알려주세요.

이 문서에서는 초당 수백만 개의 스트리밍 이벤트를 수집하고 처리한 다음 Delta Lake 테이블에 이벤트를 쓰는 데 사용할 수 있는 솔루션을 설명합니다. 이 솔루션은 Azure HDInsight에서 Apache Spark 및 Apache Kafka를 사용합니다.

Apache®, Apache KafkaApache Spark는 미국 및/또는 기타 국가 또는 지역에서 Apache Software Foundation의 등록 상표 또는 상표입니다. 이러한 표시의 사용은 Apache Software Foundation에 의한 보증을 암시하지 않습니다.

Delta Lake Project는 미국 및/또는 기타 국가에서 Linux Foundation의 등록 상표입니다.

아키텍처

스트리밍 데이터를 수집하고 처리하기 위한 아키텍처를 보여 주는 다이어그램

이 아키텍처의 Visio 파일을 다운로드합니다.

Jupyter Notebook 로고는 해당 회사의 상표입니다. 이 상표의 사용은 어떠한 보증도 의미하지 않습니다.

데이터 흐름

다음 데이터 흐름은 이전 아키텍처에 해당합니다.

  1. IoT 이벤트 데이터와 같은 실시간 이벤트 데이터는 Apache Kafka 생산자를 통해 Apache Kafka에 수집됩니다.

  2. Apache Spark 구조적 스트리밍 은 거의 실시간으로 데이터를 처리합니다.

  3. Apache Spark는 변환 및 계산 분석을 작성하기 위한 싱크를 제공합니다. 처리된 데이터는 Delta Lake 테이블 형식으로 Azure Data Lake Storage 계정에저장됩니다.

  4. 처리된 데이터는 Apache Kafka에 지속적으로 수집됩니다.

  5. Azure Data Lake Storage 계정의 데이터는 다음 사항에 대한 인사이트를 제공할 수 있습니다.

구성 요소

  • HDInsight는 엔터프라이즈 분석을 위한 오픈 소스 구성 요소를 제공합니다. 엔터프라이즈급 보안을 사용하여 Azure 환경에서 이러한 Apache 구성 요소를 실행할 수 있습니다. 또한 HDInsight는 확장성, 보안, 중앙 집중식 모니터링, 글로벌 가용성 및 확장성 등의 다른 이점을 제공합니다.

  • HDInsight 의 Apache Kafka는 실시간 스트리밍 데이터 파이프라인 및 애플리케이션을 빌드하는 데 사용할 수 있는 관리형 오픈 소스 분산 플랫폼입니다. Apache Kafka는 레코드를 토픽, 파티션, 소비자 그룹 및 생산자에서 소비자로 멀티플렉스 이벤트 스트림으로 그룹화할 수 있도록 고성능 및 내구성을 제공합니다.

  • HDInsight 의 Apache Spark는 클라우드에서 Apache Spark의 관리되는 Microsoft 구현이며 Azure의 여러 Spark 제품 중 하나입니다.

  • Apache Spark 구조적 스트리밍 은 스트림 처리를 위한 확장 가능하고 정확히 한 번 내결함성 엔진입니다. Spark SQL 엔진을 기반으로 합니다. 구조적 스트리밍 쿼리는 거의 실시간으로 발생하며 대기 시간이 짧습니다. Apache Spark 구조적 스트리밍은 데이터 원본 및 데이터 싱크에 대한 여러 커넥터를 제공합니다. 다양한 소스 형식의 여러 스트림을 조인할 수도 있습니다.

  • Apache Kafka 의 Apache Spark 구조적 스트리밍은 쿼리를 일괄 처리 및 스트리밍하고 스토리지 계층, 데이터베이스 또는 Apache Kafka에 저장하는 데 사용됩니다.

  • Delta Lake Storage 계층은 Azure Storage와 같은 클라우드 스토리지에 저장된 데이터 위에 트랜잭션 스토리지 계층을 추가하여 데이터 레이크에 대한 안정성을 제공합니다. 이 스토리지 계층은 파일 기반 트랜잭션 로그를 사용하여 Apache Parquet 데이터 파일을 확장합니다. 데이터를 Delta Lake 테이블 형식으로 저장하여 ACID(원자성, 일관성, 격리 및 내구성) 트랜잭션, 스키마 진화 및 기록 버전과 같은 이점을 활용할 수 있습니다.

  • Power BI Delta Lake 테이블 커넥터는 Power BI에서 Delta Lake 테이블 데이터를 읽는 데 사용됩니다.

  • Machine Learning은 수집한 데이터를 보낸 다음 기계 학습 모델에 사용할 수 있는 Azure 서비스입니다.

시나리오 정보

이벤트 스트리밍은 이벤트 게시자에서 구독자에게 흐르는 변경할 수 없는 이벤트의 연속적인 무제한 시퀀스입니다. 일부 비즈니스 사용 사례에서는 이러한 이벤트를 원시 형식으로 저장한 다음 다양한 분석 요구 사항에 대한 이벤트를 클린, 변환 및 집계해야 합니다. 이벤트 스트리밍을 사용하여 이벤트를 거의 실시간으로 처리하고 분석하여 즉각적인 인사이트를 생성합니다.

잠재적인 사용 사례

이 솔루션은 비즈니스가 거의 실시간으로 변경할 수 없는 정확히 한 번 내결함성 이벤트 스트림을 처리할 수 있는 기회를 제공합니다. 이 방법은 Apache Kafka를 Spark 구조적 스트리밍의 입력 원본으로 사용하고 Delta Lake를 스토리지 계층으로 사용합니다.

비즈니스 시나리오는 다음과 같습니다.

  • 계정 로그인 사기 감지
  • 현재 시장 상황 분석
  • 실시간 주식 시장 데이터 분석
  • 신용 카드 사기 감지
  • 디지털 이미지 및 비디오 처리
  • 약물 연구 및 발견
  • 엔터프라이즈 빅 데이터 솔루션용 미들웨어
  • 단기 판매 위험 계산
  • 스마트 제조 및 산업용 IoT(IIoT)

이 솔루션은 다음 산업에 적용됩니다.

  • 농업
  • CPG(소비자 패키지 상품)
  • 사이버 보안
  • Finance
  • 의료
  • 보험업
  • 구성
  • 제조업
  • Retail

참가자

Microsoft에서 이 문서를 유지 관리합니다. 원래 다음 기여자가 작성했습니다.

주요 작성자:

비공개 LinkedIn 프로필을 보려면 LinkedIn에 로그인합니다.

다음 단계