1. 程式人生 > >大資料雲端實驗室專案實戰-微博輿情大資料分析有感

大資料雲端實驗室專案實戰-微博輿情大資料分析有感

  大資料開發、只能硬體和圖形影象需求增長最快,需求人員最多。對微博資料分析平臺搭建,以及微博資料分析平臺數據儲存模組設計與實現。
  最好有一定軟體開發方面的知識功底,比如瞭解網站開發、OA開發、Linux作業系統

引言、雲端實驗室環境

基於開源的ambari大資料平臺,部署了7個節點:
ambari

一、 專案背景

企業可能對使用者在微博上的評價內容有監測需求,如活動效果、使用者對產品的評價,使用者關注於產品的價格還是功能等等。

本平臺用來獲取微博的資料(資料量大、非結構化資料),進行資料分析,儲存在雲平臺,將結果輸出給企業。

二、 專案架構

專案架構
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

progress-001

progress-002
3.3 公司開發時,運維一般給不同團隊分配不同佇列,不同佇列會有不同資源
progress-003
3.4 雖然Spark比較成熟,但大多數公司對離線分析還是用Hive多一些。

3.5 企業微博聲量號的分析:
統計微博最新狀態下被評論 最多的Top10賬戶id,
注意:每個使用者的微博進行去重之後,篩選出同一條微博的最新狀態

3.6 開發有兩種方式,一種在Ambari web平臺寫指令碼。

3.7 實際中使用引入一個開發平臺。這裡使用Hue平臺
HUE

hue-001

3.8 每天都要跑的定時任務,一般用這樣的平臺設定一些許可權

hue-002
3.9 查詢頁面面寫經常用的SQL
hue-003

hue-004

3.10 儲存點選Save As
hue-005

3.11 平時開發的SQL都可以儲存下來
hue-006
3.12 如果要執行,那要設計一個執行器
執行器

3.13 企業中使用一般會針對這個介面進行二次開發
新建一個流程:
dashboard
3.14 然後新增流程:
Flow
Flow-002

para
3.15選擇資料:
dataselect

3.16 固定的報表一般會配置WorkFlow,這裡使用Oozie作為工作流平臺

workflow