首页
/
每日頭條
/
生活
/
怎麼查看自己的uv值
怎麼查看自己的uv值
更新时间:2025-07-06 02:35:02

本文由阿裡巴巴高級技術專家鄧小勇(靜行)分享,主要用 Demo 演示如何通過實時計算 Flink 實時計算pv/uv的場景。内容将從以下幾部分進行:

  1. App 計算 pv/uv 場景
  2. 實現方案(From Flink-1.11)
  3. DDL
  4. DML
  5. 實操

首先為大家展示一個比較簡單的pv/uv場景。以下圖所示的APP為例,整個業務構架需要幾個入口,包括用戶訪問入口、作者入口和運營人員入口。在運營人員入口進去可以查看系統的一些指标,比如app 的pv/uv。

怎麼查看自己的uv值(實時計算pvuv)1

在開始介紹如何計算實時pv/uv之前,可以先了解下上圖的10個字段和它們對應的含義。通過這些字段可以了解到,用戶在APP上的任何一次操作都會在數據庫中留下一條對應的記錄,所有記錄就是該用戶在APP上的操作流水。

那麼如何實時計算pv/uv呢?

有兩種方案。

怎麼查看自己的uv值(實時計算pvuv)2

方案一,MySQL的變更數據同步到Kafka後進行實時計算。由于 Flink在設計之初是具有流表二象性的,所以在 Flink 1.1版本之後,就可以實現 Flink 對 Kafka變更數據的處理了,包括處理一些修改、删除等操作。處理後的結果會放到阿裡雲Hologress裡,方便用戶進行大數據查詢和分析。

方案二,從上圖可以看到方案一比方案二隻多了一個Kafka,在 Flink 1.11 版本之後,可以直接通過Debezium連接MySQL,然後經過Flink 實時計算,也可以完成同樣功能。

兩個方案都可以實現,那麼如何選擇呢?主要取決于業務。如果數據隻是暫存,日志需要展示或是需要多個下遊使用,需要保存到Kafka;如果日志不需要回溯,或是沒有下遊使用,那麼方案二更适合。

實戰演示

如下圖所示,我們選擇方案二(MySQL-CDC源表方式)來演示。

怎麼查看自己的uv值(實時計算pvuv)3

首先打開實時計算 Flink平台,點擊左側SQL編輯器,然後通過Create Table方式設定上文提到的10個字段。這樣就定義了數據的源頭。

怎麼查看自己的uv值(實時計算pvuv)4

定義源頭之後,接下來要構建目标表。如下圖所示,在構建目标表時,定義了blackhole_pv_uv表,構造了一個無實際存儲的目标端,充當調試作用,先把邏輯跑通,然後再去往目标端去寫代碼。Blackhole 會吸收掉輸出結果數據,先處理掉源端和計算的問題。

怎麼查看自己的uv值(實時計算pvuv)5

以上的表會落到 Flink Catalog裡,對于實時計算pv/uv上下遊表格的準備就完成了。如果需要調整表,也可以通過DDL SQL語句完成。

做好建表準備後,如何實時計算想要達到的目标呢?以最簡單的方式來演示。

先把數據寫到Blackhole裡,然後把4個字段值計算出來,比如cuurenttime,event_hour等。

怎麼查看自己的uv值(實時計算pvuv)6

通過上圖所示的代碼可以計算出,數據是什麼時候輸入的,數據的pv/uv值等等。

運行剛剛寫入的作業:

怎麼查看自己的uv值(實時計算pvuv)7

然後點擊創建SQL作業,

怎麼查看自己的uv值(實時計算pvuv)8

創建完成後,點擊啟動。

怎麼查看自己的uv值(實時計算pvuv)9

啟動後可以點擊 Flink UI 來查看運行狀态。查看時候可以看到下端有顯示記錄了8條數據:

怎麼查看自己的uv值(實時計算pvuv)10

回到數據庫也能看到對應的8條數據:

怎麼查看自己的uv值(實時計算pvuv)11

如何把實際的結果寫到holo裡呢?

核心邏輯與上文實時計算的邏輯是一樣的,唯一不一樣的是,要把計算的結果既輸出到holo_pv_uv裡去,同時也輸出到backhole裡去,也就是要把同樣的結果輸出兩份,這是在流計算裡經常會遇到的情況。甚至還有在同一作業裡不同的業務邏輯或計算結果,也要輸出到不同的目标端的情況。

打開實時計算 Flink 頁面的SQL編輯器,在輸入框中創建 temporary view,把數據記錄到blackhole 裡和holo裡。

為了實現這個目标,需要增加一個叫begin statement set和end的語法,這其實是定義了一個計算邏輯,使得在它們中間的邏輯任務就會同時運行。

怎麼查看自己的uv值(實時計算pvuv)12

然後完成部署、創建作業和啟動後,就能看到這個計算邏輯已經成功了。

怎麼查看自己的uv值(實時計算pvuv)13

作者:鄧小勇(靜行),阿裡巴巴高級技術專家

本文為阿裡雲原創内容,未經允許不得轉載。

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
新車有異味?教你去除車内異味
新車有異味?教你去除車内異味
新車有異味?教你去除車内異味教你去除車内異味1、蜂窩煤:第一個隆重介紹給大家的車内除味偏方不是木炭吸附,而是用蜂窩煤,但必須是燒過的。不過,在周末不用車時可以采用以上辦法,如果随時用車,還是選擇活性炭包來吸附異味吧,畢竟蜂窩煤難放置且容易将車内弄髒。2、醋:徐先生最近買了新車,終于有了自己的愛車那叫...
2025-07-06
餅幹防潮法 實用生活妙招
餅幹防潮法 實用生活妙招
餅幹防潮法實用生活妙招實用生活妙招餅幹的防潮法将餅乾裝罐時,同時放進一塊方糖。由於方糖會吸收罐中的濕氣,所以就能保持餅乾的香脆可口的狀态了。預防煮面食湯溢出來的方法水煮的時候,再湯裡加上一遲奶油或一點點沙拉油。同時要保持湯的沸騰,不可向煮其他面類時一般加冷水。如何去除指頭上的煙垢最有效的方法适用檸檬...
2025-07-06
手表中不小心進入積水,怎樣去掉手表内的積水
手表中不小心進入積水,怎樣去掉手表内的積水
早上洗漱時候,不小心将手表浸到水了,或者天熱去遊泳館遊泳,不小心把表掉入水裡了,不知道怎樣才能去除表内的積水?可以使用以下方法:不小心發生表内進水,可用一種叫矽膠的顆粒狀物質與以及積水的手表一起放進一個密閉的容器内,數小時侯取出手表,積水即全消失。此法簡單經濟,對手表的精确度和壽命均無任何損害,已經...
2025-07-06
皮衣品牌 各種皮衣材質的介紹
皮衣品牌 各種皮衣材質的介紹
在目前我們望眼街頭,最美麗的永遠都是屬于比較酷辣的皮衣,但是,很多女士品牌皮衣搭配比較有講究,要問哪些皮衣品牌最有範,還是看看明星、名模們的親身體味,我們對此知識就會一目了然了。下面的介紹,就是關于皮衣品牌的建議,希望我們對此有所了解才是。皮衣品牌是很多的,但是生活上十分多見的皮衣都是使用了動物皮,...
2025-07-06
卧室怎麼收拾好?告别卧室淩亂5絕招
卧室怎麼收拾好?告别卧室淩亂5絕招
在淩亂的卧室能夠找到你想要的東西不是一件容易的事情,以下5絕招将助你告别卧室淩亂,好了快來試試吧。【1】垂直中的水平利用你有沒有為放置自己各種各樣的皮帶和好久不用的小飾品苦惱過?那就試試這種衣櫥裡的“魔術抽屜”吧。又大又淺的抽屜内被分隔出許多小空間,正好可以容納卷起來的皮帶和...
2025-07-06
Copyright 2023-2025 - www.tftnews.com All Rights Reserved