微博輿情大數(shù)據(jù)分析

| 2022-09-13 admin

云端實(shí)驗(yàn)室環(huán)境
基于開(kāi)源的ambari大數(shù)據(jù)平臺(tái),部署了7個(gè)節(jié)點(diǎn):
大數(shù)據(jù)實(shí)戰(zhàn)——微博輿情大數(shù)據(jù)分析_數(shù)據(jù)倉(cāng)庫(kù)

一、 項(xiàng)目背景

企業(yè)可能對(duì)用戶(hù)在微博上的評(píng)價(jià)內(nèi)容有監(jiān)測(cè)需求,如活動(dòng)效果、用戶(hù)對(duì)產(chǎn)品的評(píng)價(jià),用戶(hù)關(guān)注于產(chǎn)品的價(jià)格還是功能等等。

本平臺(tái)用來(lái)獲取微博的數(shù)據(jù)(數(shù)據(jù)量大、非結(jié)構(gòu)化數(shù)據(jù)),進(jìn)行數(shù)據(jù)分析,存儲(chǔ)在云平臺(tái),將結(jié)果輸出給企業(yè)。

二、 項(xiàng)目架構(gòu)

大數(shù)據(jù)實(shí)戰(zhàn)——微博輿情大數(shù)據(jù)分析_數(shù)據(jù)_02

1. 數(shù)據(jù)源

微博數(shù)據(jù):
大數(shù)據(jù)實(shí)戰(zhàn)——微博輿情大數(shù)據(jù)分析_數(shù)據(jù)_03

2. 數(shù)據(jù)層

本次數(shù)據(jù)層主要講主數(shù)據(jù)倉(cāng)庫(kù)。
數(shù)據(jù)倉(cāng)庫(kù)是為應(yīng)用層提供數(shù)據(jù)服務(wù)的。
大數(shù)據(jù)實(shí)戰(zhàn)——微博輿情大數(shù)據(jù)分析_數(shù)據(jù)倉(cāng)庫(kù)_04

數(shù)據(jù)倉(cāng)庫(kù)表設(shè)計(jì)
大數(shù)據(jù)實(shí)戰(zhàn)——微博輿情大數(shù)據(jù)分析_ambari_05

數(shù)據(jù)倉(cāng)庫(kù)一般是離線(xiàn)數(shù)據(jù)分析使用,每天要跑的固化需求。如果是臨時(shí)需求(提數(shù)),就要讓大數(shù)據(jù)開(kāi)發(fā)人員專(zhuān)門(mén)做一條數(shù)據(jù)報(bào)表出來(lái)。

3. 平臺(tái)層

大數(shù)據(jù)實(shí)戰(zhàn)——微博輿情大數(shù)據(jù)分析_ambari_06

ODS層:數(shù)據(jù)是清洗后的。

4. APP區(qū)

從數(shù)據(jù)倉(cāng)庫(kù)區(qū)取數(shù)據(jù)分析展示。

三、 平臺(tái)演示

運(yùn)維人員一般使用Ambari,作為大數(shù)據(jù)的管理平臺(tái),而給開(kāi)發(fā)人員使用跳板機(jī)(或堡壘機(jī))。

開(kāi)發(fā)界面示例:
大數(shù)據(jù)實(shí)戰(zhàn)——微博輿情大數(shù)據(jù)分析_數(shù)據(jù)倉(cāng)庫(kù)_07

大數(shù)據(jù)實(shí)戰(zhàn)——微博輿情大數(shù)據(jù)分析_ambari_08

大數(shù)據(jù)實(shí)戰(zhàn)——微博輿情大數(shù)據(jù)分析_ambari_09

公司開(kāi)發(fā)時(shí),運(yùn)維一般給不同團(tuán)隊(duì)分配不同隊(duì)列,不同隊(duì)列會(huì)有不同資源。
大數(shù)據(jù)實(shí)戰(zhàn)——微博輿情大數(shù)據(jù)分析_數(shù)據(jù)倉(cāng)庫(kù)_10

雖然Spark比較成熟,但大多數(shù)公司對(duì)離線(xiàn)分析還是用Hive多一些。

企業(yè)微博聲量號(hào)的分析:
統(tǒng)計(jì)微博最新?tīng)顟B(tài)下被評(píng)論 最多的Top10賬戶(hù)id,
注意:每個(gè)用戶(hù)的微博進(jìn)行去重之后,篩選出同一條微博的最新?tīng)顟B(tài)。

大數(shù)據(jù)實(shí)戰(zhàn)——微博輿情大數(shù)據(jù)分析_ambari_11
開(kāi)發(fā)有兩種方式,一種在Ambari web平臺(tái)寫(xiě)腳本。

實(shí)際中使用引入一個(gè)開(kāi)發(fā)平臺(tái)。這里是Hue。
大數(shù)據(jù)實(shí)戰(zhàn)——微博輿情大數(shù)據(jù)分析_數(shù)據(jù)倉(cāng)庫(kù)_12

大數(shù)據(jù)實(shí)戰(zhàn)——微博輿情大數(shù)據(jù)分析_ambari_13

每天都要跑的定時(shí)任務(wù),一般用這樣的平臺(tái)設(shè)置一些權(quán)限,
大數(shù)據(jù)實(shí)戰(zhàn)——微博輿情大數(shù)據(jù)分析_數(shù)據(jù)倉(cāng)庫(kù)_14
大數(shù)據(jù)實(shí)戰(zhàn)——微博輿情大數(shù)據(jù)分析_數(shù)據(jù)倉(cāng)庫(kù)_15

在這里寫(xiě)經(jīng)常用的SQL
大數(shù)據(jù)實(shí)戰(zhàn)——微博輿情大數(shù)據(jù)分析_ambari_16

大數(shù)據(jù)實(shí)戰(zhàn)——微博輿情大數(shù)據(jù)分析_數(shù)據(jù)倉(cāng)庫(kù)_17

點(diǎn)擊Save As,
大數(shù)據(jù)實(shí)戰(zhàn)——微博輿情大數(shù)據(jù)分析_ambari_18

這樣平時(shí)開(kāi)發(fā)的SQL都可以保存下來(lái)。
大數(shù)據(jù)實(shí)戰(zhàn)——微博輿情大數(shù)據(jù)分析_數(shù)據(jù)倉(cāng)庫(kù)_19

如果要執(zhí)行,那要設(shè)計(jì)一個(gè)執(zhí)行器:
大數(shù)據(jù)實(shí)戰(zhàn)——微博輿情大數(shù)據(jù)分析_數(shù)據(jù)_20
企業(yè)中使用一般會(huì)針對(duì)這個(gè)界面進(jìn)行二次開(kāi)發(fā)
新建一個(gè)流程:
大數(shù)據(jù)實(shí)戰(zhàn)——微博輿情大數(shù)據(jù)分析_ambari_21
然后添加流程:
大數(shù)據(jù)實(shí)戰(zhàn)——微博輿情大數(shù)據(jù)分析_數(shù)據(jù)倉(cāng)庫(kù)_22

大數(shù)據(jù)實(shí)戰(zhàn)——微博輿情大數(shù)據(jù)分析_數(shù)據(jù)倉(cāng)庫(kù)_23
設(shè)置運(yùn)行條件:
大數(shù)據(jù)實(shí)戰(zhàn)——微博輿情大數(shù)據(jù)分析_數(shù)據(jù)倉(cāng)庫(kù)_24

大數(shù)據(jù)實(shí)戰(zhàn)——微博輿情大數(shù)據(jù)分析_ambari_25

選擇數(shù)據(jù):
大數(shù)據(jù)實(shí)戰(zhàn)——微博輿情大數(shù)據(jù)分析_數(shù)據(jù)倉(cāng)庫(kù)_26

大數(shù)據(jù)實(shí)戰(zhàn)——微博輿情大數(shù)據(jù)分析_ambari_27

固定的報(bào)表一般會(huì)配置WorkFlow,這里使用Oozie作為工作流平臺(tái)

大數(shù)據(jù)實(shí)戰(zhàn)——微博輿情大數(shù)據(jù)分析_ambari_28