다음을 통해 공유


Azure Stream Analytics를 사용하여 이벤트 허브에서 데이터 처리

Azure Stream Analytics 서비스를 사용하면 Azure Event Hubs에서 스트리밍 데이터를 간편하게 수집, 처리하고 분석할 수 있으므로 강력한 인사이트로 실시간 작업을 지원할 수 있습니다. Azure Portal을 사용하여 들어오는 데이터를 시각화하고 Stream Analytics 쿼리를 작성할 수 있습니다. 쿼리가 준비되면 몇 번의 클릭만으로 프로덕션으로 이동할 수 있습니다.

주요 혜택

Azure Event Hubs 및 Azure Stream Analytics 통합의 주요 이점은 다음과 같습니다.

  • 데이터 미리 보기 – Azure Portal의 이벤트 허브에서 들어오는 데이터를 미리 볼 수 있습니다.
  • 쿼리 테스트 – 변환 쿼리를 준비하고 Azure Portal에서 직접 테스트합니다. 쿼리 언어 구문은 Stream Analytics 쿼리 언어 설명서를 참조하세요.
  • 프로덕션에 쿼리 배포 – Azure Stream Analytics 작업을 만들고 시작하여 쿼리를 프로덕션에 배포할 수 있습니다.

엔드투엔드 흐름

Important

  • Azure 구독 수준에서 소유자 또는 기여자 역할의 멤버가 아닌 경우 이 섹션의 단계를 성공적으로 완료하려면 Azure 구독 수준에서 Stream Analytics 쿼리 테스터 역할의 멤버여야 합니다. 이 역할을 사용하면 스트림 분석 작업을 먼저 만들지 않고도 테스트 쿼리를 수행할 수 있습니다. 사용자에게 역할을 할당하는 방법에 대한 지침은 사용자에게 AD 역할 할당을 참조하세요.
  • 이벤트 허브가 프라이빗 엔드포인트를 통한 프라이빗 액세스만 허용하는 경우 작업이 이벤트 허브의 이벤트에 액세스할 수 있도록 Stream Analytics 작업을 동일한 네트워크에 조인해야 합니다.
  1. Azure Portal에 로그인합니다.

  2. Event Hubs 네임스페이스로 이동한 다음 들어오는 데이터가 있는 이벤트 허브로 이동합니다.

  3. 왼쪽 탐색 메뉴에서 기능을 확장하고 데이터 처리를 선택한 다음 실시간 인사이트 사용 이벤트 타일에서 시작을 선택합니다.

    데이터 처리 페이지에 이벤트에서 실시간 인사이트 사용 타일이 선택된 것을 보여주는 스크린샷

  4. 다음 필드에 이미 설정된 값이 있는 쿼리 페이지가 표시됩니다. 사용자를 위한 소비자 그룹에 대한 팝업 창과 정책을 만드는 경우 확인을 선택합니다. 해당 탭에 들어오는 최신 데이터의 스냅샷이 즉시 표시됩니다.

    1. 쿼리에 대한 입력으로 사용할 이벤트 허브.

    2. SELECT 문을 사용하는 샘플 SQL 쿼리.

    3. 쿼리 테스트 결과를 참조하는 출력 별칭.

      Stream Analytics 쿼리에 대한 쿼리 편집기를 보여주는 스크린샷

    • 데이터의 serialization 형식이 자동으로 검색됩니다(JSON/CSV). JSON/CSV/AVRO에도 수동으로 변경할 수 있습니다.

    • 들어오는 데이터를 테이블 형식 또는 원시 형식으로 미리 볼 수 있습니다.

    • 표시된 데이터가 최신 상태가 아닌 경우 새로 고침을 선택하여 최신 이벤트를 확인합니다.

    • 위의 이미지에서 결과는 테이블 형식으로 표시됩니다. 원시 데이터를 보려면 원시를 선택합니다.

      데이터 처리 페이지의 결과 창에 있는 입력 미리 보기 창의 원시 형식 스크린샷

  5. 쿼리 테스트를 선택하여 테스트 결과 탭에서 쿼리의 테스트 결과 스냅샷을 확인합니다. 결과를 다운로드할 수도 있습니다.

    결과 창의 입력 미리 보기 창에 테스트 결과가 있는 스크린샷

    사용자 고유의 쿼리를 작성하여 데이터를 변환합니다. Stream Analytics 쿼리 언어 참조를 참조하세요.

  6. 쿼리를 테스트하고 프로덕션으로 이동하려는 경우 Stream Analytics 작업 만들기를 선택합니다.

    쿼리 페이지에 Stream Analytics 작업 만들기 링크가 선택된 스크린샷

  7. 새 Stream Analytics 작업 페이지에서 다음 단계를 수행합니다.

    1. 작업의 이름을 지정합니다.

    2. 작업을 만들 Azure 구독을 선택합니다.

    3. Stream Analytics 작업 리소스에 대한 리소스 그룹을 선택합니다.

    4. 작업의 위치를 선택합니다.

    5. Event Hubs 정책 이름의 경우 새 정책을 만들거나 기존 정책을 선택합니다.

    6. Event Hubs 소비자 그룹의 경우 새 소비자 그룹을 만들거나 기존 소비자 그룹을 선택합니다.

    7. 만들기를 선택하여 Stream Analytics 작업을 만듭니다.

      새 Stream Analytics 작업 창을 보여주는 스크린샷

      참고 항목

      Event Hubs 페이지에서 만드는 새 Azure Stream Analytics 작업마다 소비자 그룹과 정책을 만드는 것이 좋습니다. 소비자 그룹은 5명의 동시 읽기 권한자만 허용하므로 각 작업에 대한 전용 소비자 그룹을 제공하면 해당 한도 초과로 인해 발생할 수 있는 오류가 방지됩니다. 전용 정책을 사용하면 다른 리소스에 영향을 주지 않고 키를 회전하거나 사용 권한을 철회할 수 있습니다.

  8. 이제 테스트한 쿼리와 동일한 Stream Analytics 작업이 만들어지고 입력은 이벤트 허브입니다.

    Stream Analytics 작업 페이지에 출력을 추가할 수 있는 링크를 보여주는 스크린샷

  9. 원하는 출력을 추가합니다.

  10. 이동 경로 링크에서 작업 이름을 클릭하여 Stream Analytics 작업 페이지로 다시 이동합니다.

  11. 쿼리 창 위에서 쿼리 편집을 선택합니다.

  12. 출력 이름으로 [OutputAlias]를 업데이트하고 쿼리 위의 쿼리 저장 링크를 선택합니다. 오른쪽 위 모서리에서 X를 선택하여 쿼리 페이지를 닫습니다.

  13. 이제 Stream Analytics 작업 페이지의 도구 모음에서 시작을 선택하여 작업을 시작합니다.

    Stream Analytics 작업의 작업 시작 창 스크린샷

Access

문제: 사용자는 구독에 대한 올바른 권한이 없기 때문에 미리 보기 데이터에 액세스할 수 없습니다.

옵션 1: 구독에서 들어오는 데이터를 미리 보려는 사용자를 기여자로 추가해야 합니다.

옵션 2: 구독에서 사용자를 Stream Analytics 쿼리 테스터 역할로 추가해야 합니다. 구독에 대한 액세스 제어로 이동합니다. 사용자에 대한 새 역할 할당을 "Stream Analytics 쿼리 테스터" 역할로 추가합니다.

옵션 3: 사용자가 Azure Stream Analytics 작업을 만들 수 있습니다. 입력을 이 이벤트 허브로 설정하고 "쿼리"로 이동하여 이 이벤트 허브에서 들어오는 데이터를 미리 봅니다.

옵션 4: 관리자가 구독에서 사용자 지정 역할을 만들 수 있습니다. 사용자 지정 역할에 다음 권한을 추가한 후 새 사용자 지정 역할에 사용자를 추가합니다.

Microsoft.StreamAnalytics 권한 페이지를 보여주는 스크린샷

스트리밍 단위

Azure Stream Analytics 작업은 기본적으로 3개의 SU(스트리밍 단위)로 설정됩니다. 설정을 조정하려면 Azure Portal에서 Stream Analytics 작업 페이지의 왼쪽 메뉴에서 Scale(스케일링)을 선택합니다. 스트리밍 단위에 대한 자세한 내용은 스트리밍 단위 이해 및 조정을 참조하세요.

Stream Analytics 작업의 크기 조정 페이지를 보여주는 스크린샷

Event Hubs 지역 복제 기능을 사용할 때 고려 사항

Azure Event Hubs는 최근 공개 미리 보기에서 지역에서 복제 기능을 시작했습니다. 이 기능은 Azure Event Hubs의 지역 재해 복구 기능과 다릅니다.

장애 조치(failover) 유형이 강제 이고 복제 일관성이 비동기인 경우 Stream Analytics 작업은 Azure Event Hubs 출력에 대한 출력을 정확히 한 번 보장하지 않습니다.

Azure Stream Analytics는 이벤트 허브의 출력을 사용하는 생산자로서 기본 및 보조 간의 복제 지연이 구성된 최대 지연 시간에 도달할 경우 장애 조치(failover) 기간 동안 및 Event Hubs에 의해 제한되는 동안 작업에 워터마크 지연을 관찰할 수 있습니다.

Azure Stream Analytics는 Event Hubs를 입력으로 사용하는 소비자로서 장애 조치 기간 동안 작업의 워터마크 지연을 관찰할 수 있으며 장애 조치(failover)가 완료된 후 데이터를 건너뛰거나 중복 데이터를 찾을 수 있습니다.

이러한 주의 사항으로 인해 Event Hubs 장애 조치(failover)가 완료된 직후 적절한 시작 시간으로 Stream Analytics 작업을 다시 시작하는 것이 좋습니다. 또한 Event Hubs 지역 복제 기능은 공개 미리 보기 상태이므로 이 시점에서 프로덕션 Stream Analytics 작업에 이 패턴을 사용하지 않는 것이 좋습니다. Event Hubs 지역 복제 기능을 일반적으로 사용할 수 있고 Stream Analytics 프로덕션 작업에서 사용할 수 있기 전에 현재 Stream Analytics 동작이 개선됩니다.

Stream Analytics 쿼리에 대한 자세한 내용은 Stream Analytics 쿼리 언어를 참조하세요.