IoT Edge의 Azure Stream Analytics는 디바이스에서 생성된 데이터에 대해 준실시간 분석을 수행하기 위해 IoT Edge 디바이스에서 직접 실행되는 Azure Stream Analytics의 경량 버전입니다. IoT Edge Azure Stream Analytics 짧은 대기 시간, 복원력, 효율적인 대역폭 사용 및 규정 준수를 제공합니다. 대규모 데이터 처리를 위해 클라우드 기반 Azure Stream Analytics 사용하는 동안 산업 운영에 가까운 분석을 배포하고 논리를 제어할 수 있습니다.
IoT Edge의 Azure Stream Analytics는 Azure IoT Edge 프레임워크 내에서 실행됩니다. Azure 포털에서 Stream Analytics 작업을 만든 후 IoT Hub 사용하여 배포하고 관리할 수 있습니다.
IoT Edge Stream Analytics에 대한 일반적인 시나리오
다음 다이어그램은 IoT 디바이스와 Azure 클라우드 간의 데이터 흐름을 보여줍니다.
짧은 대기 시간 명령 및 제어
제조 안전 시스템은 매우 짧은 대기 시간으로 운영 데이터에 응답해야 합니다. IoT Edge Stream Analytics를 사용하면 거의 실시간으로 센서 데이터를 분석하고 변칙을 감지하여 머신을 중지하거나 경고를 트리거할 때 명령을 실행할 수 있습니다.
클라우드에 대한 연결 제한
원격 마이닝 장비, 연결된 선박 또는 해양 시추와 같은 중요 업무용 시스템은 클라우드 연결이 간헐적인 경우에도 데이터를 분석하고 대응해야 합니다. Stream Analytics를 사용하면 스트리밍 논리가 네트워크 연결과 독립적으로 실행되며 추가 처리 또는 스토리지를 위해 클라우드로 보낼 항목을 선택할 수 있습니다.
제한된 대역폭
제트 엔진이나 커넥티드 카에서 생성된 데이터의 양이 너무 커서 클라우드로 보내기 전에 필터링하거나 사전 처리해야 합니다. Stream Analytics를 사용하여 클라우드로 보내야 하는 데이터를 필터링하거나 집계할 수 있습니다.
규정 준수 및 로컬 데이터 처리
규정 준수를 위해서는 클라우드로 보내기 전에 일부 데이터를 로컬로 익명화하거나 집계해야 할 수 있습니다. IoT Edge Stream Analytics를 사용하면 온-프레미스에서 중요한 데이터를 처리하고 규정 준수 변환된 결과만 클라우드로 보낼 수 있습니다.
Azure Stream Analytics의 Edge 작업
Stream Analytics 에지 작업은 Azure IoT Edge 디바이스 배포된 컨테이너화된 Stream Analytics 워크로드입니다. Edge 작업에는 두 부분으로 구성됩니다.
작업 정의를 처리하는 클라우드 파트: 클라우드에서 입력, 출력, 쿼리 및 기타 설정(예: 순서가 바깥쪽 이벤트)을 정의합니다.
IoT 디바이스에서 실행되는 모듈입니다. 이 모듈은 Stream Analytics 엔진을 포함하고 클라우드에서 작업 정의를 받습니다.
Stream Analytics는 IoT Hub 사용하여 디바이스에 에지 작업을 배포합니다. 자세한 내용은 IoT Edge 배포를 참조하세요.
Edge 작업 제한 사항
Stream Analytics 에지 작업은 에지와 클라우드 배포 간의 패리티를 목표로 합니다. 클라우드 작업은 Azure 실행되는 표준 Azure Stream Analytics 작업이며 에지 작업은 IoT Edge 디바이스에서 로컬로 실행됩니다. Stream Analytics는 에지 및 클라우드 모두에 대해 대부분의 SQL 쿼리 언어 기능을 지원합니다. 그러나 에지 작업은 다음 기능을 지원하지 않습니다.
- JavaScript의 UDF(사용자 정의 함수)입니다. UDF는 C#에서 IoT Edge 작업(미리 보기)에 사용할 수 있습니다.
- UDA(사용자 정의 집계)입니다.
- Azure Machine Learning 함수
- 입력/출력에 대한 AVRO 형식입니다. Edge 작업은 CSV 및 JSON 형식만 지원합니다.
- 다음 SQL 연산자는 다음과 같습니다.
PARTITION BYGetMetadataPropertyValue
- 지연 도착 정책
런타임 및 하드웨어 요구 사항
IoT Edge Stream Analytics를 실행하려면 Azure IoT Edge 실행하는 디바이스가 필요합니다.
Stream Analytics 및 Azure IoT Edge는 Docker 컨테이너를 사용하여 여러 호스트 운영 체제(Windows, Linux)에서 실행되는 이식 가능한 솔루션을 제공합니다.
IoT Edge Stream Analytics는 x86-64 및 ARM 아키텍처에서 Linux 이미지로 실행됩니다.
Stream Analytics 에지 작업에 대한 입력 및 출력
Stream Analytics 에지 작업은 IoT Edge 디바이스에서 실행되는 다른 모듈에서 입력 및 출력을 가져옵니다. 특정 모듈에서 또는 특정 모듈에 연결하려면 배포 시 라우팅 구성을 설정합니다. 자세한 내용은 IoT Edge 모듈 컴퍼지션 설명서 참조하세요.
입력 및 출력 모두 CSV 및 JSON 형식을 지원합니다.
Stream Analytics 작업에서 만드는 각 입력 및 출력 스트림에 대해 Stream Analytics는 배포된 모듈에 해당 엔드포인트를 만듭니다. 배포 경로에서 이러한 엔드포인트를 사용합니다.
지원되는 스트림 입력 형식은 다음과 같습니다.
- 에지 허브
- 이벤트 허브
- IoT Hub
지원되는 스트림 출력 형식은 다음과 같습니다.
- 에지 허브
- SQL 데이터베이스
- 이벤트 허브
- Blob Storage/Azure Data Lake Storage Gen2
참조 입력은 조회를 위해 정적 또는 느린 변경 데이터를 제공하는 참조 파일 형식을 지원합니다. 다른 출력 대상으로 전송하려면 다운스트림에 클라우드에서 호스팅되는 Stream Analytics 작업을 연결하세요. 예를 들어, IoT Edge에서 호스팅되는 Stream Analytics 작업은 출력을 Edge Hub로 보내고, 그러면 Edge Hub가 해당 출력을 IoT Hub로 보낼 수 있습니다. IoT Hub의 입력과 Power BI 또는 다른 출력 형식으로의 출력을 사용하는 두 번째 클라우드 호스팅 Azure Stream Analytics 작업을 사용합니다.
Azure Stream Analytics 모듈 이미지 정보
다음 표에서는 IoT Edge 모듈 이미지에서 사용 가능한 Stream Analytics를 나열합니다. 이 버전 정보는 2020-09-21에 마지막으로 업데이트되었습니다. 사용 가능한 최신 버전은 Microsoft Container Registry 확인합니다.
| 이미지 | 기본 이미지 | 아키텍처 | OS |
|---|---|---|---|
mcr.microsoft.com/azure-stream-analytics/azureiotedge:1.0.9-linux-amd64 |
mcr.microsoft.com/dotnet/core/runtime:2.1.13-alpine |
amd64 | 리눅스 |
mcr.microsoft.com/azure-stream-analytics/azureiotedge:1.0.9-linux-arm32v7 |
mcr.microsoft.com/dotnet/core/runtime:2.1.13-bionic-arm32v7 |
arm | 리눅스 |
mcr.microsoft.com/azure-stream-analytics/azureiotedge:1.0.9-linux-arm64 |
mcr.microsoft.com/dotnet/core/runtime:3.0-bionic-arm64v8 |
arm64 | 리눅스 |
Important
이 표에 나열된 기본 이미지는 수명이 다한 .NET Core 2.1 및 3.0을 사용합니다. Microsoft Container Registry에서 지원되는 .NET 버전을 기반으로 빌드된 IoT Edge 이미지에서 업데이트된 Stream Analytics를 확인합니다.
관련 콘텐츠
- Azure IoT Edge란?
- Tutorial: Azure Stream Analytics IoT Edge 모듈로 배포
- Visual Studio 도구를 사용하여 Stream Analytics Edge 작업 개발
- API를 사용하여 Stream Analytics용 CI/CD 구현
Azure Stream Analytics용 Microsoft Q&A