大資料雲端實驗室專案實戰-微博輿情大資料分析有感
大資料開發、只能硬體和圖形影象需求增長最快,需求人員最多。對微博資料分析平臺搭建,以及微博資料分析平臺數據儲存模組設計與實現。
最好有一定軟體開發方面的知識功底,比如瞭解網站開發、OA開發、Linux作業系統
引言、雲端實驗室環境
基於開源的ambari大資料平臺,部署了7個節點:
一、 專案背景
企業可能對使用者在微博上的評價內容有監測需求,如活動效果、使用者對產品的評價,使用者關注於產品的價格還是功能等等。
本平臺用來獲取微博的資料(資料量大、非結構化資料),進行資料分析,儲存在雲平臺,將結果輸出給企業。
二、 專案架構
2.1. 資料來源
微博資料:
beCommentWeiboID 是否評論
beForwardWeiboId 是否轉發微博
catchTime 抓取時間
commentCount 評論次數
content 內容
createTime 建立時間
info1 資訊欄位1
info2 資訊欄位2
info3 資訊欄位3
melevel no sure
musicurl 音樂連結
pic_list 照片列表(最多有三個)
praiseCount 點贊人數
reportCount 轉發人數
source 資料來源
ueserId 使用者id
videourl 視訊連線
weiboId 微博id
weiboUrl 微博網址
2.2 資料層
本次資料層主要講主資料倉庫。
資料倉庫是為應用層提供資料服務的。
資料倉庫表設計
層次 | 庫名 | 表名 |
---|---|---|
ODS | ODS | ODS_WEIBO_LOG |
ODS | ODS | ODS_WEIBO_EMOTION |
DW | DW | DW_USER_CLIENT |
DW | DW | DW_USER_KOL |
DW | DW | DW_EMOTION_ANA |
DW | DW | DW_VIDEO_ANA |
DW | DW | DW_WEIBO_VOL |
DW | DW | DW_USER_ACITIVE |
APP | APP | APP_CLIENT_COUNT_TOP10 |
APP | APP | APP_IPHONE_USER |
APP | APP | APP_POS_PROPOTION_TOP10 |
APP | APP | APP_REPORT_COUNT_TOP10 |
APP | APP | APP_MAX_POS_POWER_USER |
APP | APP | APP_WEIBO_VOL_TOP10 |
資料倉庫一般是離線資料分析使用,每天要跑的固化需求。如果是臨時需求(提數),就要讓大資料開發人員專門做一條資料報表出來。
2.3 平臺層
ODS層:資料是清洗後的
2.4. APP區
從資料倉庫區取資料分析展示
2.5 大資料分析與研發基本工作內容:
• 大資料平臺數據倉庫、ETL模組建模及設計開發
• 需求蒐集、資料分析並參與設計資料製作
• 排程及資料質量的檢測和監控,形成資料反饋優化
• 大資料平臺介面開發與維護
• Spark/Hadoop等大資料計算平臺的研發以及優化
• 大資料專案架構與規劃
三、 平臺演示
3.1 運維人員一般使用Ambari,作為大資料的管理平臺,而給開發人員使用跳板機(或堡壘機)。
3.2 開發介面示例:
select count(*) from web_log_192g
3.3 公司開發時,運維一般給不同團隊分配不同佇列,不同佇列會有不同資源
3.4 雖然Spark比較成熟,但大多數公司對離線分析還是用Hive多一些。
3.5 企業微博聲量號的分析:
統計微博最新狀態下被評論 最多的Top10賬戶id,
注意:每個使用者的微博進行去重之後,篩選出同一條微博的最新狀態
3.6 開發有兩種方式,一種在Ambari web平臺寫指令碼。
3.7 實際中使用引入一個開發平臺。這裡使用Hue平臺
3.8 每天都要跑的定時任務,一般用這樣的平臺設定一些許可權
3.9 查詢頁面面寫經常用的SQL
3.10 儲存點選Save As
3.11 平時開發的SQL都可以儲存下來
3.12 如果要執行,那要設計一個執行器
3.13 企業中使用一般會針對這個介面進行二次開發
新建一個流程:
3.14 然後新增流程:
3.15選擇資料:
3.16 固定的報表一般會配置WorkFlow,這裡使用Oozie作為工作流平臺