詳解什麼是資料流
21CTO 導讀:資料流是大資料世界中極為重要的過程。在本篇中,我與各位看官一起了解它如何幫助我們進行實時分析與資料提取。
資料流之定義

何謂資料流,它就如同一條河:河流從哪裡發源?河要流在哪裡?
人們對河流的理解本質上也就是流的概念,但是這條河沒有開始也沒有結束,資料流非常適合於離散的、沒有開頭或結尾的資料。例如,交通訊號燈的資料是連續的,沒有“開始”或“結束”,是連續的過程而不是分批發送的資料記錄。通常情況下,資料流對於在生成連續資料流中以小尺寸(通常以KB位元組為單位)傳送資料的資料來源型別是有用的。這包括各種各樣的資料來源,例如來自連線裝置的遙測,客戶訪問的Web應用時生成的日誌檔案、電子商務交易或來自社交網路或地理LBS服務的資訊等。
傳統上,資料是分批移動的,批處理通常同時處理大量資料,具有較長時間的延遲。例如,該複製過程每24小時執行一次。雖然這可以是處理大量資料的有效方法,但它不適用於流式傳輸的資料,因為資料在處理時已經是舊的內容。
採用資料流是時間序列和隨時間檢測模式的最佳選擇。例如,跟蹤Web會話的時間。大多數物聯網產生的資料非常適合資料流處理,包括交通感測器,健康感測器,交易日誌和活動日誌等都是資料流的理想選擇。
流資料通常用於實時聚合和關聯、過濾或採樣。通過資料流,我們可以實時分析資料,並深入瞭解各種行為,例如統計,伺服器活動,裝置地理位置或網站點選量等。
資料流整合技術的解決方案
1 金融機構跟蹤市場變化,並可根據配置約束(例如達到特定股票價格時出售)調整客戶組合的配置。
2 電網監控吞吐量並在達到某些閾值時生成警報。
3 新聞資訊APP從各種平臺進行流式傳輸時,產生的點選記錄,實時統計資訊資料,以便它可以提供與受眾人口相關的文章推薦。
4 電子商務站點以資料流傳輸點選記錄,可以檢查資料流中的異常行為,並在點選流顯示異常行為時發出安全警報。
資料流帶給我們的挑戰
資料流是一種功能強大的工具,但在使用流資料來源時,有一些常見的挑戰。以下的列表顯示了要規劃資料流的一些事項:
1 可擴充套件性規劃
2 資料永續性規劃
3 如何在儲存層和處理層中加入容錯機制
資料流的管理工具
隨著資料流的不斷增長,出現了許多合適的大資料流解決方案。我們總結了一個列表,這些都是用於處理流資料的常用工具:
1 亞馬遜Kinesis Firehose
Amazon Kinesis是一種託管,可擴充套件,基於雲的服務,可以實時處理大型資料流。
Apache Kafka是一個分散式釋出/訂閱訊息傳遞系統,它集成了應用程式和資料流處理。
Apache Flink是一種資料流引擎,為資料流上的分散式計算提供了諸多便利。
4 Apache Storm
Apache Storm是一個分散式實時計算系統。Storm用於分散式機器學習、實時分析處理,尤其是其具有超高資料處理的能力。
小結
大規劃管理資料並不難。當我們掌握了資料流的本質,使用上述提供的強大工具,輔以我們程式設計能力,開發更易於處理流資料的整合管理的叢集。
作者:洛逸
來源:21CTO 社群