物聯網數據分析指對物聯網數據資產進行統一的管理、分析,助力物聯網企業實現數據化,通過數據分析產生更多的業務價值。
物聯網中的數據分析
數據的處理包括兩個方面:業務處理:通常來說,這樣的處理是根據數據完成相應的業務,通常來說是對每一條提交的數據做對應的處理。分析處理:通常是對所有的數據,或者具有某些共同特征的數據進行統計和分析。業務處理和具體的業務邏輯相關,我們這里就不涉及了。關于數據的分析,我們這里只是范范的介紹一下相關的概念和開源的實現。畢竟任何一個方面展開了講,都是一個很大的話題。

海量數據的分析物聯網的一個特征就是海量的數據。因此在進行數據分析的時候,我們面臨的主要的問題就是海量數據如何進行分析。其實這一部分在大數據中已經有了很多方案。其中最出名的就是MapReduce和Spark。
1. MapReduce
出現的就是MapReduce,其中最的就是Hadoop MapReduce。MapReduce的思路就是分而治之。將海量的數據劃分為多個數據塊,在每個數據塊上分別進行分析。這個過程稱為Map。然后將分析的結果合并起來,這個過程稱為Reduce。但是Hadoop MapReduce無法應對越來越復雜的分析需求,主要體現在計算模型過于簡單,以及多次落盤帶來的性能問題。2. Spark
為了解決Hadoop MapReduce的弊端,出現了Spark。Spark的計算模型是DAG (Directed Acyclic Graph, 有向無環圖)。同時,Spark會將數據保存在內存中,直到最后結果才會落盤,大大提升了效率。13.2 批處理和流處理無論是MapReduce還是Spark,最開始要解決的都是批量數據處理的問題。這種方式我們稱為批處理。通常來說,批處理的特點是吞吐量大,但是延遲長。這種處理方式能夠應對很多場景,但是也有很多場景是應對不了的,尤其是對延遲要求比較高的場景,例如個性化的廣告、商品推薦等待。這些場景也有一些共同的特點:會不斷的收到數據(或者說數據會不斷的“流入”系統中)要求能夠快速的分析處理數據,快速的返回結果。(實時計算)因此,這樣的處理方式被稱為“流處理”。目前業界使用的泛的流處理框架包括:
2.1. Storm
流處理的代表性框架是Storm。Storm提出了Stream的概念,一個Stream就是元組(Tuple)的無限序列。這些Tuple從Spout(噴嘴)中流出,經過一個個bolt(螺栓)的處理,最終得到我們需要的結果。如下圖所示:
image其實從上圖中也可以看出,Storm的拓撲結構,也是一個DAG。
2.2. Spark
不是說Spark是批處理嗎?怎么變成了流處理?Spark中也提供了Spark Stream用來做流處理,但是本質上還是批處理,只不過是將海量的數據劃分為一小塊一小塊,當每一塊都足夠小的時候,就變成流處理了。(感覺在說微積分 :-) )。這種方式被稱為“微批處理”。
2.3. Flink
Spark通過“微批處理”的方式模擬了流處理。那么有沒有同時支持批處理和流處理的框架呢?答案是Flink。Flink出現的比Storm和Spark要晚一些,它最初是為了解決流式處理問題的框架,但是它將數據塊作為一種特殊的數據流,提供了批處理的能力。
優勢

低成本存儲&分析
低成本的海量數據存儲能力,可存儲102年數據,滿足對歷史數據分析需要
IT/OT數據融合
業務數據可方便連接,融合設備數據,構建物聯網數據價值
多樣的分析能力
支持時序分析/流分析等多樣的數據分析能力,滿足物聯網的復雜分析需要
簡單的分析操作
通過拖拽、可視化等方式,讓運營同學也能輕松分析物聯網數據
豐富的可視化能力
與IoT Studio深度無縫打通,可滿足物聯網場景的所有可視化展現需要
功能
低成本存儲&分析
低成本的海量數據的存儲計算能力,滿足對物聯網歷史數據的分析存儲需要
物聯網數據資產
全面管理物聯網數據資產,從設備數據到業務數據,并且提供底成本的存儲方案。
物聯網數據分析
時序分析、物分析等多種分析能力,配合簡單操作,運營同學也能輕松使用
物聯網數據開發
離線、實時數據開發能力,可完成IoT數據的深入加工分析