什麼是 AWS IoT Analytics? - AWS IoT Analytics

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

什麼是 AWS IoT Analytics?

AWS IoT Analytics自動化分析 IoT 裝置資料所需的步驟。 AWS IoT Analytics先篩選、轉換並擴展 IoT 資料,再將其存放在時間序列資料存放區中進行分析。您可以設定服務,以只從裝置上收集所需的資料、進行數學轉換來處理資料,然後為資料增加裝置專屬的中繼資料 (例如裝置類型和位置),再予以存放。然後,您可以使用內建的 SQL 查詢引擎執行查詢來分析資料,或執行更複雜的分析和機器學習推論。 AWS IoT Analytics通過與 Jupyter 筆記本的集成實現高級數據探索。 AWS IoT Analytics還可以透過與 Amazon 整合來實現資料視覺化 QuickSight。Amazon QuickSight 在以下區域提供使用。

傳統的分析和商業智慧工具都是專門用來處理結構化資料。原始 IoT 資料通常來自記錄較低結構化資料的裝置 (例如溫度、動作或聲音)。由於來自這些裝置的資料經常會有明顯的差異、損毀的訊息及錯誤的讀數,因此必須先清理之後才能進行分析。此外,IoT 資料通常只對外部來源的其他資料有意義。 AWS IoT Analytics可讓您解決這些問題並收集大量裝置資料、處理訊息並儲存訊息。然後,您可以查詢並對其進行分析。 AWS IoT Analytics包含針對常見 IoT 使用案例的預先建置模型,以便您回答哪些裝置即將發生故障或哪些客戶有可能放棄穿戴式裝置的問題。

如何使用 AWS IoT Analytics

下圖顯示如何使用您可以使用的概觀AWS IoT Analytics。

概述如何使用AWS IoT Analytics

主要功能

收集
  • 與集成AWS IoT Core —AWS IoT Analytics 完全集成,AWS IoT Core因此它可以在流式傳輸時從連接的設備接收消息。

  • 使用批次 API 新增來自任何來源的資料,AWS IoT Analytics可透過 HTTP 接收來自任何來源的資料。這意味著連接到互聯網的任何設備或服務都可以將數據發送到AWS IoT Analytics。如需詳細資訊,請參閱《AWS IoT Analytics API 參考》 中的 BatchPutMessage

  • 僅收集您要儲存和分析的資料 — 您可以使用主AWS IoT Analytics控台設定AWS IoT Analytics為透過各種格式和頻率的 MQTT 主題篩選器接收來自裝置的訊息。 AWS IoT Analytics驗證資料是否在您定義的特定參數內並建立通道。然後,服務會將該通道路由至適合的管道進行訊息處理、轉換和增加。

處理
  • 清理和篩選 — 可AWS IoT Analytics讓您定義在AWS IoT Analytics偵測到遺失資料時觸發的AWS Lambda函數,以便您可以執行程式碼來估計和填補空白。您也可以定義最大和最小篩選器,以及百分位數閾值,以移除資料中的異常值。

  • Transform—AWS IoT Analytics 可以使用您定義的數學或條件邏輯來轉換消息,這樣就可以執行常見的計算,如攝氏轉換為華氏度。

  • Enrich—AWS IoT Analytics 可以使用外部資料來源 (例如天氣預報) 來豐富資料,然後將資料路由到資AWS IoT Analytics料存放區。

存放
  • 時間序列資料儲AWS IoT Analytics存:將裝置資料儲存在最佳化的時間序列資料存放區中,以加快擷取和分析速度。您也可以管理存取許可、實作資料保留政策,再將您的資料匯出至外部存取點。

  • 儲存已處理和原始資料:AWS IoT Analytics儲存已處理的資料,並自動儲存原始擷取的資料,以便您稍後處理。

分析
  • 執行臨機操作 SQL query —AWS IoT Analytics 提供 SQL 查詢引擎,讓您可以執行臨機操作查詢並快速取得結果。此服務可讓您使用標準 SQL 查詢從資料存放區擷取資料,以回答問題,例如連線車輛車隊的平均行駛距離,或者在晚上 7 點之後,智慧建築中有多少個門被鎖定。即使連線裝置、機群大小和分析需求變更,這些查詢都仍可重複使用。

  • 時間序列分析 —AWS IoT Analytics 支援時間序列分析,因此您可以分析裝置隨時間推移的效能,並瞭解裝置的使用方式和位置,持續監控裝置資料以預測維護問題,並監控感測器以預測環境條件並做出反應。

  • 用於複雜分析和機器學習的託管筆記本-AWS IoT Analytics 包括對 Jupyter Notebook 中託管筆記本的支持,以進行統計分析和機器學習。此服務包含一組筆記本範本,其中包含AWS已編寫的機器學習模型和視覺效果。您可以使用這些範本來開始使用與裝置故障分析相關的 IoT 使用案例、預測事件 (例如可能表示客戶將放棄產品的低使用量),或依客戶使用量層級 (例如繁重使用者、週末使用者) 或裝置健康狀況劃分裝置。編寫筆記本之後,您可以根據指定的排程將其容器化並執行。如需詳細資訊,請參閱自動化您的工作流程

  • 預測 — 您可以透過稱為邏輯迴歸的方法來進行統計分類。您也可以使用長短期記憶 (LSTM) 這種強大的類神經網路技術,預測隨時間變化的程序輸出或程序狀態。預先建置的筆記本範本也支援用於裝置區隔的 K-means 集群演算法,這會將您的裝置聚集成相似的裝置群。這些範本通常用於分析裝置運作狀態和裝置狀態,例如巧克力工廠的 HVAC 裝置或風力渦輪機葉片的磨損。同樣地,這些筆記本範本可以包含並按排程執行。

構建和可視化
  • Amazon QuickSight 整合 —AWS IoT Analytics 提供連接到 Amazon 的連接器,以 QuickSight 便您可以在 QuickSight 儀表板中視覺化您的資料集。

  • 主控台整合 — 您也可以在AWS IoT Analytics「主控台」的內嵌 Jupyter 筆記本中,以視覺化方式呈現結果或臨機操作分析。

AWS IoT Analytics組件和概念

頻道

頻道會從 MQTT 主題收集資料,並會在將資料發佈到管道前,先將未處理的原始訊息封存。您也可以使用 BatchPutMessageAPI 直接將訊息傳送至頻道。未處AWS IoT Analytics理的訊息存放在您或管理的 Amazon Storage Service (Amazon S3) 儲存貯體中。

管道

管道會從通道取用訊息,並可讓您在將訊息存放在資料存放區之前,先處理該訊息。這些處理步驟稱為活動 (Pipeline 活動) 可對訊息執行轉換,例如移除、重新命名或新增訊息屬性、根據屬性值篩選訊息、在訊息上叫用 Lambda 函數以進行進階處理,或執行數學轉換以標準化裝置資料。

資料存放區

管道會將其處理完的訊息存放在資料存放區。資料存放區不是資料庫,但卻是可擴展且可查詢的訊息儲存庫。您可使用多個資料存放區存放不同裝置或位置的訊息,或是存放根據您的管道組態和需求依訊息屬性篩選的訊息。與未處理的通道訊息一樣,資料存放區已處理的訊息會存放在您或AWS IoT Analytics管理的 Amazon S3 儲存貯體中。

資料集

您可以透過建立資料集從資料存放區擷取資料。 AWS IoT Analytics可讓您建立 SQL 資料集或容器資料集。

建立資料集之後,您可以透過使用 Amazon 進行整合,探索並深入瞭解資料 QuickSight。您還可以通過與 Jupyter 筆記本的集成來執行更高級的分析功能。Jupyter Notebook 提供了強大的數據科學工具,可以執行機器學習和一系列統計分析。如需詳細資訊,請參閱筆記本範本

您可以將資料集內容傳送到 Amazon S3 儲存貯體,以便與現有的資料湖整合,或從內部應用程式和視覺化工具存取。您也可以將資料集內容作為輸入傳送至服務 AWS IoT Events,此服務可讓您監視裝置或程序是否發生故障或作業變更,並在此類事件發生時觸發其他動作。

SQL 資料集

SQL 資料集類似於 SQL 資料庫的具體化畫面。您可以套用 SQL 動作來建立 SQL 資料集。透過指定觸發與重複排程可自動產生 SQL 資料集。

容器資料集

容器資料集可讓您自動執行分析工具並產生結果。如需詳細資訊,請參閱自動化您的工作流程。它結合 SQL 資料集做為輸入,含有分析工具及所需的程式庫檔案的 Docker 容器,輸入和輸出變數,以及選用的排程觸發。輸入和輸出變數會告知可執行的映像要在何處取得資料和存放結果。觸發可以在 SQL 資料集完成內容的建立時或根據時間排程表達式來執行您的分析。容器資料集將會自動執行、產生,然後儲存分析工具的結果。

觸發條件

您可以透過指定觸發來自動建立資料集。觸發程序可以是時間間隔 (例如,每兩個小時建立一次此資料集),也可以是建立另一個資料集的內容時 (例如,建立此資料集的內容myOtherDataset完成時建立)。或者,您也可以使用 CreateDatasetContentAPI 手動產生資料集內容。

Docker 容器

您可以建立自己的 Docker 容器來封裝您的分析工具或使用 SageMaker 提供的選項。如需詳細資訊,請參閱 Docker 容器。您可以建立自己的 Docker 容器來封裝您的分析工具或使用提供的選項SageMaker。您可以在指定的 Amazon ECR 登錄中存放容器,讓它可安裝在您想要的平台上。碼頭集裝箱能夠運行與馬特實驗室,八度,智慧,SPSS,R,Fortran,Python,斯卡拉,Java,C ++ 等準備的自定義分析代碼。如需詳細資訊,請參閱容器化筆記本

差異時段

差異時段是一系列使用者定義、非重疊和接續的時間間隔。差異視窗可讓您使用建立資料集內容,其中包含建立資料集內容,其中包含自上次分析以來已到達資料存放區的新資料。您可以透過在資料集的一filtersqueryAction部分deltaTime中設定來建立差異視窗。如需詳細資訊,請參閱 CreateDataset API。通常,您還希望通過設置時間間隔觸發器(triggers:schedule:expression)來自動創建數據集內容。這使您可以過濾在特定時間段內到達的消息,因此上一時間窗口中的消息中包含的數據不會被計算兩次。如需詳細資訊,請參閱範例 6-使用差異視窗 (CLI) 建立 SQL 資料集

存取 AWS IoT Analytics

作為其中的一部分AWS IoT,AWS IoT Analytics提供下列介面,讓您的裝置能夠產生資料,並讓您的應用程式與其產生的資料互動:

AWS Command Line Interface (AWS CLI)

AWS IoT Analytics在視窗、OS X 和 Linux 上執行的指令。這些命令可讓您建立並管理事物、憑證、憑證、憑證、規則和政策。若要開始使用,請參閱《 使用者指南AWS Command Line Interface》。如需命令的詳細資訊AWS IoT,請參閱AWS Command Line Interface參考中的 iot

重要

使用指aws iotanalytics令與之互動AWS IoT Analytics。使用此aws iot指令與 IoT 系統的其他部分互動。

AWS IoT API

使用 HTTP 或 HTTPS 請求建置您的 IoT 應用程式。這些 API 動作可讓您建立並管理事物、憑證、憑證、憑證、規則和政策。如需詳細資訊,請參閱 AWS IoTAPI 參考中的動作

AWS SDK

使用語言特定的 API 建立AWS IoT Analytics應用程式。這些 SDK 包裝了 HTTP 和 HTTPS API,並使您能夠使用任何支持的語言編寫程序。如需詳細資訊,請參閱 AWS 開發套件與工具

AWS IoT 裝置 SDK

建立在裝置上執行的應用程式,以AWS IoT Analytics便在裝置上執行,其中 如需詳細資訊,請參閱 AWS IoT 開發套件

AWS IoT Analytics 主控台

您可以構建組件以在AWS IoT Analytics控制台中可視化結果。

使用案例

預測維護

AWS IoT Analytics提供範本以建立預測性維護模型,並將其套用至您的裝置。例如,您可以用AWS IoT Analytics來預測連接貨運車輛上的加熱和冷卻系統何時可能故障,以便可以重新佈線車輛以防止貨物損壞。或者,車輛製造商可偵測出哪位客戶的煞車踏板已耗損並予以警示,提示其尋求車輛維護。

主動補貨供給

AWS IoT Analytics可讓您建置可即時監控庫存的 IoT 應用程式。例如,食品和飲料公司可以分析食品販賣機的資料,並在供應品量少時,主動再訂購商品。

程序效率評分

您可以透過建置 IoT 應用程式,持續監控不同程序的效率AWS IoT Analytics,並採取行動來改善程序。例如,採礦公司可提高每趟運送的裝載量,以提升其礦車的效率。公司可以透過一段時間的推移AWS IoT Analytics,識別位置或貨車最有效率的負載,然後即時比較與目標負載的任何偏差,並更妥善地規劃領導準則,以提高效率。

智慧農業

AWS IoT Analytics可以使用AWS IoT登錄資料或公開資料來源使用關聯式中繼資料來豐富 IoT 裝置資料,讓您在時間、位置、溫度、高度和其他環境條件下進行分析因素。使用該分析,您就可以撰寫輸出建議動作的模型,供您的裝置在實地情況下採取。例如,為了確定何時用水,灌溉系統可能會使用降雨數據來豐富濕度傳感器數據,從而實現更有效的用水。