流程圖和細節都傳授給你:教你如何利用阿里雲產品搭建一個簡單數據分析平台
阿里雲有兩個消息產品,消息隊列(ONS)與消息服務(MNS),ONS上有個很好用的功能消息軌跡,消息的生命周期都可以通過控制台查詢,那麼消息服務上,想看見消息從生產到消費的軌跡數據有什麼好辦法呢?我們以這個小小的需求為原型,介紹一下怎麼利用阿里雲現有的產品,搭建出一個簡單的數據分析平台。
先畫個數據流程架構圖。
step 1:
MNS->SLS
先把MNS的日誌數據寫到SLS裡面去,不用寫代碼,在MNS控制台日誌管理頁面做個配置即可。MNS的隊列要打開logging功能,SLS控制台創建好project logstore這裡自動就能看見,注意要一個域的才能配哦。
然後我們跑跑代碼,收發點消息,完了去SLS控制台看一樣,數據已然自動寫進去了,如圖
比方我們搜索一條消息79E4FBE5094E8911-2-15D3F907B3B-2000000DB,已經可以看見收發時間,那不就滿足看消息軌跡功能了嗎,這篇文章可以結束了!!但是本文是硬廣,當然不能這麼就結束了,堂堂一個攻城獅最擅長什麼!當然是無事生非!
我不要在控制台搜索!不要登陸!要讓誰都可以看見軌跡!我還不想用sls sdk寫一句代碼!來來來,下面滿足您,順便把阿里雲的產品硬廣做一遍。
step 2:
SLS->OSS
SLS裡面的數據,有很多消費方式,最簡單不寫代碼的辦法就是配置投遞到MaxComputer或者OSS,投MaxComputer常用,我們今天來試下OSS。
投遞配置文檔
注意下分區格式 mydate=%Y%m%d/log_%H%M%s
投遞出來的目錄就是 mydate=20170714/ 這樣可以方便MaxComputer/Hive作為分區使用,截圖是投遞出來的OSS裡面看見的效果。
我們根據日誌服務裡面數據長什麼樣來配置怎麼寫csv文件(之前的查詢截圖就是數據的樣子),做個一一對應的配置,這樣投遞出來的數據,oss裡面的cvs跟日誌服務的數據就一樣一樣了。
好了,做完以上這些,投遞就配置好了,需要注意的是,配置好投遞之後只會從這個時間點開始生效,已經寫入sls的舊數據是不會被投遞的,我們再次啟動MNS收發消息的程序,造點數據寫到sls,讓投遞工作起來,看見投遞任務完成後去OSS裡面看看寫入的文件吧,前面已經有截圖了。
現在oss裡面已經有數據了,我們怎麼用這個數據看軌跡呢?
硬廣告強勢插入:
Maxcompute 2.0支持使用OSS數據源做外部表,直接可查OSS,簡單介紹一下這個功能,前面幾個set是打開2.0的開關,現在2.0的功能要申請通過才能使用。
set odps.task.major.version=2dot0_demo_flighting;set odps.service.mode=off;set odps.sql.planner.mode=lot;set odps.sql.ddl.odps2=true;set odps.sql.preparse.odps2=lot;CREATE EXTERNAL TABLE IF NOT EXISTS mns_router_log_external (
直接數加控制台運行,出結果:
在MaxComputer裡面您可以寫sql處理您的數據,比方查平均處理時間啊什麼的,這裡就是做做廣告,不詳細做Maxcompute的介紹了。
但素,我們的目標是不登陸直接看數據,這裡就要祭出阿里雲一款報表產品
Quick BI,Quick BI並不支持OSS作為數據源,可以支持RDS,Maxcompute等等,Maxcompute查詢速度相對RDS來說較慢,那麼我們就用RDS吧。用大數據處理套件來做數據同步,比方OSS倒入RDS。
Step 3:
OSS->RDS
先在rds上的資料庫建張表
CREATE TABLE `mns_route_log` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `AccountId` bigint(20) DEFAULT NULL, `Action` varchar(255) DEFAULT NULL, `MessageId` varchar(255) DEFAULT NULL, `NextVisibleTime` bigint(11) DEFAULT NULL, `ProcessTime` bigint(11) DEFAULT NULL, `QueueName` varchar(255) DEFAULT NULL, `RemoteAddress` varchar(255) DEFAULT NULL, `RequestId` varchar(255) NOT NULL, `Time` varchar(255) NOT NULL,
大數據處理套件上我們先建好兩個數據源,一個OSS的數據源mns_oss,再建一個RDS的數據源mns_log,然後用腳本模式配置一個同步任務,把數據同步到我們建的這個表裡面。
{ "configuration": { "reader": { "plugin": "oss", "parameter": { "fieldDelimiterOrigin": ",", "nullFormat": "", "compress": "", "datasource": "mns_oss", "column": [
注意這個腳本裡面使用了一個系統參數${bdp.system.bizdate},這樣我們可以配置每天凌晨跑一次,每次同步一天的數據。
運行這個任務,業務時間選2017-07-14,把剛才的數據同步進RDS。
可以配置成每天凌晨運行一次同步任務。
Step 4.
RDS->Quick BI
先在Quick BI添加一個RDS的數據源,找到表mns_route_log生成一個數據集,然後我們在這個數據集後面點一下」新建儀錶板」,添加查詢條件,保存之後公開儀錶板,直接訪問生成的地址,不用做任何登陸即可訪問,效果如圖
通過基於日誌服務的數據採集,ODPS/OSS的數據計算,最後Quick BI的報表製作這條線路,小規模的初創公司可以快速的搭建完一個適合業務,容易擴展的數據分析平台,例如時下流行的推薦系統。
阿里雲的產品!是不是AMAZING!好想配個無事生非的表情包!
※從Facebook AI Research開源fastText談文本分類:詞向量模性、深度表徵等
※應用MaxCompute實現變壓器局部放電相位分析
※如何將機器學慣用在基於規則的驗證上
※雙向同步助力企業快速複製異地多活
※雲端深度學習框架TensorFlow讀取數據IO的高效方式
TAG:雲棲社區 |
※《妖貓傳》細節分析
※樂嘉:你和孔令輝的獎金都怎麼分?劉國梁詳細講述分錢細節!
※如何區分辨別純種的惠比特犬?這些細節告訴你!
※《甄嬛傳》里那些細思極恐的細節
※女神熱巴人品如何?私下一個小細節告訴你
※老張簡評JF廠浪琴嘉嵐系列情侶石英錶對比原裝評測!細節做工對比
※何炅發文澄清天價T恤事件,一個細節說明何老師有多節儉
※奶茶妹妹去鄧文迪豪宅打牌可不簡單,一個細節揭露她的真實意圖!
※這四個用藥細節,你知道嗎?
※論文寫作中的幾個細節問題
※用醋泡腳的正確方法你知道嗎 小細節可能導致大問題
※邏輯不通的爛片?《寂靜之地》告訴你細節在哪裡丨熱片測評
※《甄嬛傳》三個細節告訴你,淳常在真的不像表面那麼單純
※你支持吳亦凡趙麗穎在一起嗎?這個小細節信息量太大
※綿陽清水房裝修:做好基礎才是關鍵,必須給師傅這幾處細節點贊!
※解析基礎口吃矯正「節律語言訓練法」細節
※邏輯不通的爛片?《寂靜之地》告訴你細節在哪裡
※實拍:蘇百鈞工筆畫的這些細節圖,比攝影更細膩
※小細節大文明:方言禮儀篇
※朴寶劍一句話讓允兒不好意思,一個細節反映其人品