日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

E-MapReduce结合DataV进行数据展现

發布時間:2023/12/31 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 E-MapReduce结合DataV进行数据展现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

背景

大部分我們的數據處理作業在完成計算以后,都希望能夠把結果可視化的展示出來,形成類似每日報表這樣的東西,供大家直觀的查看。
或者能有類似阿里雙11那種實時的數據大屏效果就更好了

如果自己去做一個類似的數據可視化的系統會非常復雜,我這里要介紹的就是E-MapRediuce的處理結果,如何通過阿里云已有的DataV工具來進行展示。
它有如下的一些特點:

  • 可視化數據圖表是實時的。

    只要數據一發生變化,圖表就會立刻變化。
  • 權限控制

    可以限制只有主子賬號可以查看,同時也能指定報表公開給所有人。
  • 1. 計算數據

    我這里會列舉2個場景作為示范,一個是離線的場景,報表數據每天計算一次,另一個是在線的流式場景,報表數據每10分鐘更新一次,介紹他們大致的處理方式

    a) 離線場景

    示例場景介紹:

    用戶通過日志服務(SLS)將服務器的訪問日志收集上來,然后投遞到OSS,并起一個E-MapReduce集群來進行處理。分析出當天的pv,uv或其他的業務指標。

    這個處理過程請參考這里使用Hive處理服務器日志
    最終能得到需要的結果hive表。

    b) 流式場景

    示例場景介紹:

    用戶通過日志服務(SLS)將服務器日志收集上來,然后在E-MapReduce集群中,運行一個Spark Streaming作業,對數據進行業務分析。

    這個處理過程的詳細說明將在下一篇中詳細介紹。

    2. 報表數據導入數據庫

    目前DataV還不能直接支持使用HDFS數據,但是可以支持API接口和RDS(Mysql)的數據源。我們這里選用RDS作為我們的數據源,當然如果你有自己的Mysql數據也可以直接使用

    創建表

    我們需要在數據庫中創建一張表,我們示范創建一張簡單的pv表,如下

    CREATE TABLE `pv` (`page` varchar(32) NOT NULL,`amount` int(11) DEFAULT NULL,PRIMARY KEY (`page`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8

    其中page是用戶訪問的頁面的id標號,amount是該頁面被訪問的次數。
    主鍵是page。

    a)離線場景

    經過上面的離線計算我們得到了一張Hive表,我們使用Sqoop將他導入到RDS中去。

    sqoop export --connect jdbc:mysql://{ip}:3306/{dbname} --username {user} --password {pwd} --table {tablename} --export-dir {hdfs_dir} --input-fields-terminated-by '\001'

    這里其他的參數都好理解,有2個需要說明下:

    hdfs_dir

    這個是Hive對應的hdfs路徑,我們如何從Hive表中得到呢?
    我們在hive中使用如下命令即可查詢到表對應的HDFS路徑

    desc extended tablename;

    結果如下,其中的location后面的值就是我們需要的路徑了:

    --input-fields-terminated-by '001'

    這個是默認的Hive都會使用 001 來做分割符,所以我們需要把每行用這個分割成多個字段,然后保存到RDS中。分割出來的每一個字段對應RDS中表的每一列

    b)流式場景

    流式場景就是直接在Spark Streaming中直接寫數據庫,后續我們會寫一個文章來詳細介紹這個過程。

    3. 創建并配置DataV

    完成了上面的數據庫準備和數據導入,現在我們就可以開始展示這些數據了。
    登錄DataV

    i 創建數據源

    在首頁先創建一個數據源,點擊數據源新增

    這里我選擇rds,其實mysql和rds是一樣的,你如果是自己的mysql也是一樣配置

    創建完成以后會看到一個數據源

    ii 創建項目

    然后我們新建一個項目,由于默認的幾個都是很復雜的圖,我們只需要一個簡單的,所以你需要手動的刪除掉這些用不上的組件。這會花費一些時間。

    iii 設置頁面

    完成以后,我們先設置屏幕的大小,點擊右側的“頁面設置”,設置屏幕大小
    考慮有各種不同的頁面,我們先設置小一點,設置為寬度:800,高度:600
    然后“縮放方式”選擇:全屏鋪滿, 不過會導致比例有點失真,你可以根據你的實際情況進行調整。

    iv 添加圖標并設置

    我們從常規圖表中選中“梯形柱狀圖”,并進行拉伸,擴大到適合的大小。
    接著,設置我們的數據綁定到這個圖上,點擊右側的數據
    選擇“數據源類型”:數據庫
    選擇“選擇數據庫”:一開始我們創建的那個數據源
    在“SQL”中寫語句,以我們的示例為例,我們的數據庫中的pv表有2個字段一個是page,代表用戶的訪問頁面id,一個是amount,代表頁面被訪問的次數。

    我們看到梯形柱狀圖需要x,y兩個坐標軸的數據,x對應類目也就是我們的頁面id,y對應值,也就是訪問量,我們使用如下的sql來

    select page as x, amount as y from pv order by amount desc limit 10;

    這樣就把所有訪問頁面的前十給展示出來了
    類似如下的效果:

    然后,如果你的數據是動態更新的,那么你可以設置下面的
    “自動更新”,設置一個合適的頻率來更新圖標,每當數據變化就可以立刻看到。

    v 權限設置

    默認情況下,這個圖表只可以被主子賬號訪問。
    如果要被所有人訪問,在屏幕的右上,有一個分享按鈕,點擊打開后會產生一個公開的訪問地址,所有人都可以訪問

    總結

    以上是生活随笔為你收集整理的E-MapReduce结合DataV进行数据展现的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。