IoT Edge의 Azure Stream AnalyticsAzure Stream Analytics on IoT Edge

IoT Edge의 Azure Stream Analytics를 통해 개발자는 장치 생성 데이터의 전체 값을 잠금 해제할 수 있도록 거의 실시간 분석 인텔리전스를 IoT 장치에 더 가깝게 배포할 수 있습니다.Azure Stream Analytics on IoT Edge empowers developers to deploy near-real-time analytical intelligence closer to IoT devices so that they can unlock the full value of device-generated data. Azure Stream Analytics는 짧은 대기 시간, 복원력, 대역폭의 효율적 사용 및 규정 준수를 위해 고안되었습니다.Azure Stream Analytics is designed for low latency, resiliency, efficient use of bandwidth, and compliance. 기업은 산업 운영에 가까운 제어 논리를 배포 하 고 클라우드에서 수행 된 빅 데이터 분석을 보완할 수 있습니다.Enterprises can deploy control logic close to the industrial operations and complement Big Data analytics done in the cloud.

IoT Edge의 Azure Stream Analytics는 Azure IoT Edge 프레임워크 내에서 실행됩니다.Azure Stream Analytics on IoT Edge runs within the Azure IoT Edge framework. 작업이 Stream Analytics에서 만들어지면 IoT Hub를 사용 하 여 배포 하 고 관리할 수 있습니다.Once the job is created in Stream Analytics, you can deploy and manage it using IoT Hub.

일반적인 시나리오Common scenarios

이 섹션에서는 IoT Edge의 Stream Analytics에 대 한 일반적인 시나리오에 대해 설명 합니다.This section describes the common scenarios for Stream Analytics on IoT Edge. 다음 다이어그램에서는 IoT 장치와 Azure 클라우드 간의 데이터 흐름을 보여 줍니다.The following diagram shows the flow of data between IoT devices and the Azure cloud.

IoT Edge에 대 한 개략적인 다이어그램

대기 시간이 짧은 명령 및 컨트롤Low-latency command and control

제조 안전 시스템은 매우 짧은 대기 시간으로 운영 데이터에 응답 해야 합니다.Manufacturing safety systems must respond to operational data with ultra-low latency. IoT Edge에 대 한 Stream Analytics를 사용 하 여 거의 실시간으로 센서 데이터를 분석 하 고 컴퓨터를 중지 하거나 경고를 트리거할 수 있는 변칙을 감지 하면 명령을 실행할 수 있습니다.With Stream Analytics on IoT Edge, you can analyze sensor data in near real-time, and issue commands when you detect anomalies to stop a machine or trigger alerts.

클라우드에 대 한 제한 된 연결Limited connectivity to the cloud

원격 마이닝 장비, 연결된 선박 또는 해양 굴착 같은 중요한 업무용 시스템은 클라우드 연결이 간헐적으로 끊어지더라도 데이터를 분석하고 대응해야 합니다.Mission critical systems, such as remote mining equipment, connected vessels, or offshore drilling, need to analyze and react to data even when cloud connectivity is intermittent. Stream Analytics를 사용 하는 경우 스트리밍 논리는 네트워크 연결과 독립적으로 실행 되며 추가 처리 또는 저장소로 클라우드로 전송 되는 항목을 선택할 수 있습니다.With Stream Analytics, your streaming logic runs independently of the network connectivity and you can choose what you send to the cloud for further processing or storage.

제한 된 대역폭Limited bandwidth

제트 엔진 또는 연결된 자동차에서 생성하는 데이터 양이 매우 커서 데이터를 클라우드로 전송하기 전에 필터링하고 사전 처리해야 합니다.The volume of data produced by jet engines or connected cars can be so large that data must be filtered or pre-processed before sending it to the cloud. Stream Analytics를 사용 하 여 클라우드로 전송 해야 하는 데이터를 필터링 하거나 집계할 수 있습니다.Using Stream Analytics, you can filter or aggregate the data that needs to be sent to the cloud.

규정 준수Compliance

규정 준수에 따라 일부 데이터를 클라우드로 전송하기 전에 로컬로 익명화하거나 집계해야 할 수 있습니다.Regulatory compliance may require some data to be locally anonymized or aggregated before being sent to the cloud.

Azure Stream Analytics의 Edge 작업Edge jobs in Azure Stream Analytics

Stream Analytics Edge 작업은 Azure IoT Edge 장치에 배포 된 컨테이너에서 실행 됩니다.Stream Analytics Edge jobs run in containers deployed to Azure IoT Edge devices. Edge 작업은 다음 두 부분으로 구성 됩니다.Edge jobs are composed of two parts:

  • 작업 정의를 담당 하는 클라우드 파트: 사용자는 클라우드에서 입력, 출력, 쿼리 및 기타 설정 (예: 잘못 된 이벤트)을 정의 합니다.A cloud part that is responsible for the job definition: users define inputs, output, query, and other settings, such as out of order events, in the cloud.

  • IoT 디바이스에서 실행되는 모듈입니다.A module running on your IoT devices. 모듈은 Stream Analytics 엔진을 포함 하며 클라우드에서 작업 정의를 수신 합니다.The module contains the Stream Analytics engine and receives the job definition from the cloud.

Stream Analytics IoT Hub를 사용 하 여에 지 작업을 장치에 배포 합니다.Stream Analytics uses IoT Hub to deploy edge jobs to device(s). 자세한 내용은 IoT Edge 배포를 참조 하세요.For more information, see IoT Edge deployment.

Azure Stream Analytics Edge 작업

Edge 작업 제한 사항Edge job limitations

목표는 IoT Edge 작업과 클라우드 작업 간에 패리티를 유지하는 것입니다.The goal is to have parity between IoT Edge jobs and cloud jobs. Edge와 클라우드 모두에 대해 대부분의 SQL 쿼리 언어 기능을 지원 합니다.Most SQL query language features are supported for both edge and cloud. 그러나 다음 기능은 edge 작업에 대해 지원 되지 않습니다.However, the following features are not supported for edge jobs:

  • JavaScript의 UDF(사용자 정의 함수).User-defined functions (UDF) in JavaScript. UDF는 IoT Edge 작업용 C#(미리 보기)에서 사용할 수 있습니다.UDF are available in C# for IoT Edge jobs (preview).
  • UDA(사용자 정의 집계).User-defined aggregates (UDA).
  • Azure ML 함수Azure ML functions.
  • AVRO 형식의 입/출력AVRO format for input/output. 현재 CSV 및 JSON만 지원됩니다.At this time, only CSV and JSON are supported.
  • 다음 SQL 연산자:The following SQL operators:
    • PARTITION BYPARTITION BY
    • GetMetadataPropertyValueGetMetadataPropertyValue
  • 지연 도착 정책Late arrival policy

런타임 및 하드웨어 요구 사항Runtime and hardware requirements

IoT Edge에서 Stream Analytics를 실행 하려면 Azure IoT Edge를 실행할 수 있는 장치가 필요 합니다.To run Stream Analytics on IoT Edge, you need devices that can run Azure IoT Edge.

Stream Analytics 및 Azure IoT Edge Docker 컨테이너를 사용 하 여 여러 호스트 운영 체제 (Windows, Linux)에서 실행 되는 이식 가능한 솔루션을 제공 합니다.Stream Analytics and Azure IoT Edge use Docker containers to provide a portable solution that runs on multiple host operating systems (Windows, Linux).

IoT Edge Stream Analytics은 x86-64 또는 ARM (Advanced RISC 컴퓨터) 아키텍처에서 실행 되는 Windows 및 Linux 이미지로 제공 됩니다.Stream Analytics on IoT Edge is made available as Windows and Linux images, running on both x86-64 or ARM (Advanced RISC Machines) architectures.

입력 및 출력Input and output

Stream Analytics Edge 작업은 IoT Edge 장치에서 실행 되는 다른 모듈에서 입력 및 출력을 가져올 수 있습니다.Stream Analytics Edge jobs can get inputs and outputs from other modules running on IoT Edge devices. 특정 모듈과 연결하려면 배포 시에 라우팅 구성을 설정할 수 있습니다.To connect from and to specific modules, you can set the routing configuration at deployment time. 자세한 내용은 IoT Edge 모듈 컴퍼지션 설명서를 참조하세요.More information is described on the IoT Edge module composition documentation.

입/출력 모두에서 CSV 및 JSON 형식이 지원됩니다.For both inputs and outputs, CSV and JSON formats are supported.

Stream Analytics 작업에서 만드는 각 입력 및 출력 스트림에 대해 해당 끝점은 배포 된 모듈에 생성 됩니다.For each input and output stream you create in your Stream Analytics job, a corresponding endpoint is created on your deployed module. 이러한 엔드포인트는 배포 경로에서 사용될 수 있습니다.These endpoints can be used in the routes of your deployment.

지원 되는 스트림 입력 형식은 다음과 같습니다.Supported stream input types are:

  • 에지 허브Edge Hub
  • 이벤트 허브Event Hub
  • IoT HubIoT Hub

지원 되는 스트림 출력 유형은 다음과 같습니다.Supported stream output types are:

  • 에지 허브Edge Hub
  • SQL DatabaseSQL Database
  • 이벤트 허브Event Hub
  • Blob Storage/ADLS Gen2Blob Storage/ADLS Gen2

참조 입력은 참조 파일 유형을 지원합니다.Reference input supports reference file type. 다른 출력은 클라우드 작업 다운스트림을 사용하여 도달할 수 있습니다.Other outputs can be reached using a cloud job downstream. 예를 들어 Edge에서 호스트되는 Stream Analytics 작업은 Edge Hub에 출력을 보냅니다. 그러면 IoT Hub에 출력을 보낼 수 있습니다.For example, a Stream Analytics job hosted in Edge sends output to Edge Hub, which can then send output to IoT Hub. IoT Hub에서 입력 하 고 Power BI 또는 다른 출력 형식으로 출력 하는 두 번째 클라우드 호스팅 Azure Stream Analytics 작업을 사용할 수 있습니다.You can use a second cloud-hosted Azure Stream Analytics job with input from IoT Hub and output to Power BI or another output type.

라이선스 및 타사 알림License and third-party notices

Azure Stream Analytics 모듈 이미지 정보Azure Stream Analytics module image information

이 버전 정보는 2020-09-21에서 마지막으로 업데이트 되었습니다.This version information was last updated on 2020-09-21:

  • 이미지: mcr.microsoft.com/azure-stream-analytics/azureiotedge:1.0.9-linux-amd64Image: mcr.microsoft.com/azure-stream-analytics/azureiotedge:1.0.9-linux-amd64

    • 기본 이미지: mcr.microsoft.com/dotnet/core/runtime:2.1.13-alpinebase image: mcr.microsoft.com/dotnet/core/runtime:2.1.13-alpine
    • 플랫폼:platform:
      • 아키텍처: amd64architecture: amd64
      • os: linuxos: linux
  • 이미지: mcr.microsoft.com/azure-stream-analytics/azureiotedge:1.0.9-linux-arm32v7Image: mcr.microsoft.com/azure-stream-analytics/azureiotedge:1.0.9-linux-arm32v7

    • 기본 이미지: mcr.microsoft.com/dotnet/core/runtime:2.1.13-bionic-arm32v7base image: mcr.microsoft.com/dotnet/core/runtime:2.1.13-bionic-arm32v7
    • 플랫폼:platform:
      • 아키텍처: armarchitecture: arm
      • os: linuxos: linux
  • 이미지: mcr.microsoft.com/azure-stream-analytics/azureiotedge:1.0.9-linux-arm64Image: mcr.microsoft.com/azure-stream-analytics/azureiotedge:1.0.9-linux-arm64

    • 기본 이미지: mcr.microsoft.com/dotnet/core/runtime:3.0-bionic-arm64v8base image: mcr.microsoft.com/dotnet/core/runtime:3.0-bionic-arm64v8
    • 플랫폼:platform:
      • 아키텍처: arm64architecture: arm64
      • os: linuxos: linux

도움말 보기Get help

추가 지원이 필요한 경우 Azure Stream Analytics용 Microsoft Q&A 질문 페이지를 사용해보세요.For further assistance, try the Microsoft Q&A question page for Azure Stream Analytics.

다음 단계Next steps