象SaaS一样用亚马逊Kinesis Analytics做大数据分析
亞馬遜最近發布了一項新AWS服務,把大數據流帶入到了類似SaaS的世界里,你向輸入流執行一個SQL查詢就可以獲得輸出數據了,不必再花時間寫代碼或者搭建底層基礎設施。
\\對于那些在存儲和計算方面非常看重工程上的快速部署和無限擴展的公司,云就是他們的最終歸宿。基于Hadoop提供大數據PaaS已經發布很久了,Azure提供的是HDInsight,AWS提供的是Amazon Elastic MapReduce,但現在更加重磅的實時流處理的產品終于出場了。在Azure云上做事件流處理主要用的是一種非常簡單、類似SaaS的方法,現在AWS終于也提供了類似產品。
\\Amazon Kinesis Analytics現在已經發布了,是微軟在2015年發布的Azure Stream Analytics的直接競爭產品。兩種服務都是用相同方法實現流分析功能的:掛接到數據源,再指定目的端,然后不斷地運行查詢命令來生成輸出結果。分析就是通過查詢命令做的,兩個產品都用SQL(或非常類似SQL的語言),這就非常容易實現具體的分析了。
\\在云這個行業有個非常有趣的趨勢:平臺提供商都在努力把自身的經驗和優勢應用到云上分析中,努力通過抽象讓最終用戶非常容易使用自己的產品。現在的AWS Kinesis產品就是亞馬遜用來為AWS用戶們提供細粒度指標的。在項目啟動時擔任數據服務部總經理的Ryan Waite說:“這讓我們測量服務的處理能力上了新臺階,可以實時發出預警了”。它成功地將重心從“你可以在我們這里做這件事”轉變成了“我們可以幫你作這件事”。AWS首席宣傳官Jeff Barr在他的宣傳Amazon Kinesis Analytics的博客中主要強調了容易使用這個方面:
\\\你可以關注處理數據并從中提取業務價值,再也不必浪費時間部署基礎設施了。不超過5分鐘,只需要寫一點點復雜度絕對不超過SQL查詢的東西,你就可以構建起一套強大、端到端的流處理管道了。
\\\Kinesis Analytics使用的是管道模型,分析程序連上數據源,不斷地運行某個查詢命令,再把結果輸出到某個目標端。源可以是Kinesis Stream或者Kinesis Firehose,這樣你就可以把數據從很多個事件生產者那里匯集起來,交給某個查詢。SQL查詢可以簡單到查看有多少生產者在發送數據的SELECT DISTINCT操作,也可以復雜到做類似滑動窗口的分析。目標端也可以是Kinesis Stream或Firehose,這樣你就可以把累積數據存入一個關系型數據庫,或者把原始數據存入Hadoop。
\\要達到與IaaS甚至PaaS相同的效果,就需要有類似Kafka的分布式輸入隊列,有類似Apache Storm或Spark Streaming的流處理引擎,以及像Elasticsearch一樣的分布式目標端。這些都是需要大量管理工作的分布式集群,而分析則是你要自己寫代碼、測試和部署的定制化解決方案部分。Kinesis Analytics內部是SQLStream,所以AWS是在用ANSI標準SQL提供一個可管理的流分析解決方案。
\\Azure也是類似的,與AWS對應的流分析服務最近發布了一個PowerBI(微軟的數據可視化工具)的輸出連接器。Azure Stream Analytics研發部經理Ryan CrawCour把這種端到端的分析解決方案與用戶自己定制的方案作了一個對比:
\\\在以前如果你想構建一套系統,對自己的數據按自身需求進行分析并且將結果展示出來,首先要做數據清洗,再保存到某個數據庫中,然后再自己寫好程序去不斷地查詢分析數據,最終再展示到自己寫的展示界面上。
\\\不管數據中心還是云,現在在大數據開發領域最受關注的就是實時分析和事件流了。今年Spark 2.0的發布為流式數據源增加了DataFrame支持。Apache NiFi(一個支持流的大數據處理和路由工具)已經發布了1.0版。Hortonworks也發布了新版本DataFlow 1.2,這個是基于NiFi并專注于流處理的。
\\在大數據處理領域Lambda架構一直都是通用做法:把所有數據都做持久化存儲用于批量處理,再把關鍵數據抽取出來做實時可視化展示。與批處理相比,實時處理一直都缺乏比較好的通用的管理手段。有了Kinesis Analytics之后,大家在尋找基于云的解決方案時就有了新選擇。
\\查看英文原文:Amazon Kinesis Analytics is Like SaaS for Big Data Analysis
總結
以上是生活随笔為你收集整理的象SaaS一样用亚马逊Kinesis Analytics做大数据分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《高效程序员的修炼》 读书笔记
- 下一篇: Linux free -m 详细说明