国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

大數(shù)據(jù)畢設(shè)分享 flink大數(shù)據(jù)淘寶用戶行為數(shù)據(jù)實時分析與可視化

這篇具有很好參考價值的文章主要介紹了大數(shù)據(jù)畢設(shè)分享 flink大數(shù)據(jù)淘寶用戶行為數(shù)據(jù)實時分析與可視化。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


0 前言

?? 這兩年開始畢業(yè)設(shè)計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設(shè)題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學弟學妹告訴學長自己做的項目系統(tǒng)達不到老師的要求。

為了大家能夠順利以及最少的精力通過畢設(shè),學長分享優(yōu)質(zhì)畢業(yè)設(shè)計項目,今天要分享的是

?? flink大數(shù)據(jù)淘寶用戶行為數(shù)據(jù)實時分析與可視化

??學長這里給一個題目綜合評分(每項滿分5分)

  • 難度系數(shù):3分
  • 工作量:3分
  • 創(chuàng)新點:4分

1、環(huán)境準備

1.1 flink 下載相關(guān) jar 包

flink-sql 連接外部系統(tǒng)時,需要依賴特定的 jar 包,所以需要事先把這些 jar 包準備好。說明與下載入口

本項目使用到了以下的 jar 包 ,下載后直接放在了 flink/lib 里面。

需要注意的是 flink-sql 執(zhí)行時,是轉(zhuǎn)化為 flink-job 提交到集群執(zhí)行的,所以 flink 集群的每一臺機器都要添加以下的 jar 包。

外部 版本 jar
kafka 4.1 flink-sql-connector-kafka_2.11-1.10.2.jar
flink-json-1.10.2-sql-jar.jar
elasticsearch 7.6 flink-sql-connector-elasticsearch7_2.11-1.10.2.jar
mysql 5.7 flink-jdbc_2.11-1.10.2.jar
mysql-connector-java-8.0.11.jar

1.2 生成 kafka 數(shù)據(jù)

用戶行為數(shù)據(jù)來源: 阿里云天池公開數(shù)據(jù)集

網(wǎng)盤:https://pan.baidu.com/s/1wDVQpRV7giIlLJJgRZAInQ 提取碼:gja5

商品類目緯度數(shù)據(jù)來源: category.sql

數(shù)據(jù)生成器:datagen.py

有了數(shù)據(jù)文件之后,使用 python 讀取文件數(shù)據(jù),然后并發(fā)寫入到 kafka。

修改生成器中的 kafka 地址配置,然后運行 以下命令,開始不斷往 kafka 寫數(shù)據(jù)

# 5000 并發(fā)
nohup python3 datagen.py 5000 &                  

1.3 開發(fā)前的三個小 tip

  • 生成器往 kafka 寫數(shù)據(jù),會自動創(chuàng)建主題,無需事先創(chuàng)建

  • flink 往 elasticsearch 寫數(shù)據(jù),會自動創(chuàng)建索引,無需事先創(chuàng)建

  • Kibana 使用索引模式從 Elasticsearch 索引中檢索數(shù)據(jù),以實現(xiàn)諸如可視化等功能。

使用的邏輯為:創(chuàng)建索引模式 》Discover (發(fā)現(xiàn)) 查看索引數(shù)據(jù) 》visualize(可視化)創(chuàng)建可視化圖表》dashboards(儀表板)創(chuàng)建大屏,即匯總多個可視化的圖表

2、flink-sql 客戶端編寫運行 sql

# 進入 flink-sql 客戶端, 需要指定剛剛下載的 jar 包目錄
./bin/sql-client.sh embedded -l lib

2.1 創(chuàng)建 kafka 數(shù)據(jù)源表

-- 創(chuàng)建 kafka 表, 讀取 kafka 數(shù)據(jù)
CREATE TABLE user_behavior (
    user_id BIGINT,
    item_id BIGINT,
    category_id BIGINT,
    behavior STRING,
    ts TIMESTAMP(3),
    proctime as PROCTIME(),
    WATERMARK FOR ts as ts - INTERVAL '5' SECOND  
) WITH (
    'connector.type' = 'kafka', 
    'connector.version' = 'universal',  
    'connector.topic' = 'user_behavior',  
    'connector.startup-mode' = 'earliest-offset', 
    'connector.properties.zookeeper.connect' = '172.16.122.24:2181', 
    'connector.properties.bootstrap.servers' = '172.16.122.17:9092', 
    'format.type' = 'json'  
);
SELECT * FROM user_behavior;

2.2 指標統(tǒng)計:每小時成交量

2.2.1 創(chuàng)建 es 結(jié)果表, 存放每小時的成交量

CREATE TABLE buy_cnt_per_hour (
    hour_of_day BIGINT,
    buy_cnt BIGINT
) WITH (
    'connector.type' = 'elasticsearch', 
    'connector.version' = '7',  
    'connector.hosts' = 'http://172.16.122.13:9200',  
    'connector.index' = 'buy_cnt_per_hour',
    'connector.document-type' = 'user_behavior',
    'connector.bulk-flush.max-actions' = '1',
    'update-mode' = 'append',
    'format.type' = 'json'
);

2.2.2 執(zhí)行 sql ,統(tǒng)計每小時的成交量

INSERT INTO buy_cnt_per_hour
SELECT HOUR(TUMBLE_START(ts, INTERVAL '1' HOUR)), COUNT(*)
FROM user_behavior
WHERE behavior = 'buy'
GROUP BY TUMBLE(ts, INTERVAL '1' HOUR);

2.3 指標統(tǒng)計:每10分鐘累計獨立用戶數(shù)

2.3.1 創(chuàng)建 es 結(jié)果表,存放每10分鐘累計獨立用戶數(shù)

CREATE TABLE cumulative_uv (
    time_str STRING,
    uv BIGINT
) WITH (
    'connector.type' = 'elasticsearch', 
    'connector.version' = '7',  
    'connector.hosts' = 'http://172.16.122.13:9200',  
    'connector.index' = 'cumulative_uv',
    'connector.document-type' = 'user_behavior',    
    'update-mode' = 'upsert',
    'format.type' = 'json'
);

2.3.2 創(chuàng)建視圖

CREATE VIEW uv_per_10min AS
SELECT
  MAX(SUBSTR(DATE_FORMAT(ts, 'HH:mm'),1,4) || '0') OVER w AS time_str,
  COUNT(DISTINCT user_id) OVER w AS uv
FROM user_behavior
WINDOW w AS (ORDER BY proctime ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW);

2.3.3 執(zhí)行 sql ,統(tǒng)計每10分鐘的累計獨立用戶數(shù)

INSERT INTO cumulative_uv
SELECT time_str, MAX(uv)
FROM uv_per_10min
GROUP BY time_str;

2.4 指標統(tǒng)計:商品類目銷量排行

2.4.1 創(chuàng)建商品類目維表

先在 mysql 創(chuàng)建一張商品類目的維表,然后配置 flink 讀取 mysql。

CREATE TABLE category_dim (
    sub_category_id BIGINT,
    parent_category_name STRING
) WITH (
    'connector.type' = 'jdbc',
    'connector.url' = 'jdbc:mysql://172.16.122.25:3306/flink',
    'connector.table' = 'category',
    'connector.driver' = 'com.mysql.jdbc.Driver',
    'connector.username' = 'root',
    'connector.password' = 'root',
    'connector.lookup.cache.max-rows' = '5000',
    'connector.lookup.cache.ttl' = '10min'
);

2.4.1 創(chuàng)建 es 結(jié)果表,存放商品類目排行表

CREATE TABLE top_category  (
    category_name  STRING,
    buy_cnt  BIGINT
) WITH (
    'connector.type' = 'elasticsearch', 
    'connector.version' = '7',  
    'connector.hosts' = 'http://172.16.122.13:9200',  
    'connector.index' = 'top_category',
    'connector.document-type' = 'user_behavior',
    'update-mode' = 'upsert',
    'format.type' = 'json'
);

2.4.2 創(chuàng)建視圖

CREATE VIEW rich_user_behavior AS
SELECT U.user_id, U.item_id, U.behavior, C.parent_category_name as category_name
FROM user_behavior AS U LEFT JOIN category_dim FOR SYSTEM_TIME AS OF U.proctime AS C
ON U.category_id = C.sub_category_id;

2.4.3 執(zhí)行 sql , 統(tǒng)計商品類目銷量排行

INSERT INTO top_category
SELECT category_name, COUNT(*) buy_cnt
FROM rich_user_behavior
WHERE behavior = 'buy'
GROUP BY category_name;

3、最終效果與體驗心得

3.1 最終效果

整個開發(fā)過程,只用到了 flink-sql ,無需寫 java 或者其它代碼,就完成了這樣一個實時報表。

大數(shù)據(jù)畢設(shè)分享 flink大數(shù)據(jù)淘寶用戶行為數(shù)據(jù)實時分析與可視化,flink,畢業(yè)設(shè)計,python,畢設(shè)

3.2 體驗心得

3.2.1 執(zhí)行

  • flink-sql 的 ddl 語句不會觸發(fā) flink-job , 同時創(chuàng)建的表、視圖僅在會話級別有效。

  • 對于連接表的 insert、select 等操作,則會觸發(fā)相應的流 job, 并自動提交到 flink 集群,無限地運行下去,直到主動取消或者 job 報錯。

  • flink-sql 客戶端關(guān)閉后,對于已經(jīng)提交到 flink 集群的 job 不會有任何影響。

本次開發(fā),執(zhí)行了 3 個 insert , 因此打開 flink 集群面板,可以看到有 3 個無限的流 job 。即使 kafka 數(shù)據(jù)全部寫入完畢,關(guān)閉 flink-sql 客戶端,這個 3 個 job 都不會停止。
大數(shù)據(jù)畢設(shè)分享 flink大數(shù)據(jù)淘寶用戶行為數(shù)據(jù)實時分析與可視化,flink,畢業(yè)設(shè)計,python,畢設(shè)

3.2.2 存儲

  • flnik 本身不存儲業(yè)務數(shù)據(jù),只作為流批一體的引擎存在,所以主要的用法為讀取外部系統(tǒng)的數(shù)據(jù),處理后,再寫到外部系統(tǒng)。

  • flink 本身的元數(shù)據(jù),包括表、函數(shù)等,默認情況下只是存放在內(nèi)存里面,所以僅會話級別有效。但是,似乎可以存儲到 Hive Metastore 中,關(guān)于這一點就留到以后再實踐。文章來源地址http://www.zghlxwxcb.cn/news/detail-812057.html

4 最后

到了這里,關(guān)于大數(shù)據(jù)畢設(shè)分享 flink大數(shù)據(jù)淘寶用戶行為數(shù)據(jù)實時分析與可視化的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • 【Hive+MySQL+Python】淘寶用戶購物行為數(shù)據(jù)分析項目

    【Hive+MySQL+Python】淘寶用戶購物行為數(shù)據(jù)分析項目

    user_data.csv是一份用戶行為數(shù)據(jù),時間區(qū)間為2017-11-25到2017-12-03,總計29132493條記錄,大小為1.0G,包含5個字段。數(shù)據(jù)集的每一行表示一條用戶行為,由用戶ID、商品ID、商品類目ID、行為類型和時間戳組成,并以逗號分隔。關(guān)于數(shù)據(jù)集中每一列的詳細描述如下: 用戶行為類型共

    2024年02月07日
    瀏覽(26)
  • 【TIANCHI】天池大數(shù)據(jù)競賽(學習賽)--- 淘寶用戶購物行為數(shù)據(jù)可視化分析

    【TIANCHI】天池大數(shù)據(jù)競賽(學習賽)--- 淘寶用戶購物行為數(shù)據(jù)可視化分析

    目錄 前言 一、數(shù)據(jù)集的來源和各個字段的意義 二、數(shù)據(jù)分析 1.引入庫 2.讀入數(shù)據(jù) 3.查看數(shù)據(jù)數(shù)量級 4.PV(Page View)/UV訪問量 5.漏斗模型 6.用戶購買商品的頻次分析。 7.ARPPU(average revenue per paying user) ?計算 ARPPU ?ARPPU出圖 8.復購情況分析 計算用戶購買頻次 復購周期分析 總結(jié)

    2024年02月09日
    瀏覽(22)
  • 大數(shù)據(jù)畢設(shè)項目 - 大數(shù)據(jù)電商用戶行為分析 -python 大數(shù)據(jù)

    大數(shù)據(jù)畢設(shè)項目 - 大數(shù)據(jù)電商用戶行為分析 -python 大數(shù)據(jù)

    ?? 這兩年開始畢業(yè)設(shè)計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設(shè)題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學弟學妹告訴學長自己做的項目系統(tǒng)達不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設(shè),學長分享優(yōu)質(zhì)畢業(yè)設(shè)計項目,今天

    2024年03月17日
    瀏覽(28)
  • python畢設(shè) 大數(shù)據(jù)用戶畫像分析系統(tǒng)(源碼分享)

    python畢設(shè) 大數(shù)據(jù)用戶畫像分析系統(tǒng)(源碼分享)

    Hi,大家好,這里是丹成學長,今天做一個電商銷售預測分析,這只是一個demo,嘗試對電影數(shù)據(jù)進行分析,并可視化系統(tǒng) ?? 這兩年開始畢業(yè)設(shè)計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設(shè)題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學弟學妹告訴學

    2024年01月17日
    瀏覽(22)
  • 畢設(shè)項目 大數(shù)據(jù)用戶畫像分析系統(tǒng)(源碼分享)

    畢設(shè)項目 大數(shù)據(jù)用戶畫像分析系統(tǒng)(源碼分享)

    Hi,大家好,這里是丹成學長,今天做一個電商銷售預測分析,這只是一個demo,嘗試對電影數(shù)據(jù)進行分析,并可視化系統(tǒng) ?? 這兩年開始畢業(yè)設(shè)計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設(shè)題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學弟學妹告訴學

    2024年01月22日
    瀏覽(21)
  • 基于Python的淘寶行為數(shù)據(jù)可視化分析

    基于Python的淘寶行為數(shù)據(jù)可視化分析

    完成如下商業(yè)分析任務,通過數(shù)據(jù)分析和可視化展示,充分挖掘數(shù)據(jù)的價值,讓數(shù)據(jù)更好地為業(yè)務服務: 流量分析 :PV/UV是多少,通過分析PV/UV能發(fā)現(xiàn)什么規(guī)律? 漏斗分析 :用戶“瀏覽-收藏-加購-購買”的轉(zhuǎn)化率是怎樣的? 用戶價值分析 :對電商平臺什么樣的用戶是有價值

    2024年02月10日
    瀏覽(34)
  • 大數(shù)據(jù)畢設(shè)分享 基于深度學習的抽煙行為檢測算法實現(xiàn)(源碼分享)

    大數(shù)據(jù)畢設(shè)分享 基于深度學習的抽煙行為檢測算法實現(xiàn)(源碼分享)

    今天學長向大家分享一個畢業(yè)設(shè)計項目 畢業(yè)設(shè)計 基于深度學習的抽煙行為檢測算法實現(xiàn)(源碼分享) 項目運行效果: 畢業(yè)設(shè)計 深度學習的抽煙行為檢測算法實現(xiàn) 項目獲?。?https://gitee.com/sinonfin/algorithm-sharing 通過目前應用比較廣泛的 Web 開發(fā)平臺,將模型訓練完成的算法模型

    2024年02月22日
    瀏覽(22)
  • 基于Canal與Flink實現(xiàn)數(shù)據(jù)實時增量同步(一),計算機畢設(shè)源碼要提交嗎

    基于Canal與Flink實現(xiàn)數(shù)據(jù)實時增量同步(一),計算機畢設(shè)源碼要提交嗎

    配置修改 修改conf/example/instance.properties,修改內(nèi)容如下: canal.instance.mysql.slaveId = 1234 #position info,需要改成自己的數(shù)據(jù)庫信息 canal.instance.master.address = kms-1.apache.com:3306 #username/password,需要改成自己的數(shù)據(jù)庫信息 canal.instance.dbUsername = canal canal.instance.dbPassword = canal canal.mq.topic

    2024年04月12日
    瀏覽(38)
  • 數(shù)倉用戶行為數(shù)據(jù)分析

    分層優(yōu)點:復雜的東西可以簡單化、解耦(屏蔽層作用)、提高復用、方便管理 SA 貼源? 數(shù)據(jù)組織結(jié)構(gòu)與源系統(tǒng)保持一致 shm 歷史層? 針對不同特征的數(shù)據(jù)做不同算法,目的都是為了得到一份完整的數(shù)據(jù) PDM 明細層 做最細粒度的數(shù)據(jù)明細,最高擴展性和靈活性,企業(yè)級的數(shù)據(jù)

    2024年02月08日
    瀏覽(21)
  • 【實時數(shù)倉】介紹、需求分析、統(tǒng)計架構(gòu)分析和ods層日志行為數(shù)據(jù)采集

    【實時數(shù)倉】介紹、需求分析、統(tǒng)計架構(gòu)分析和ods層日志行為數(shù)據(jù)采集

    普通的實時計算 優(yōu)先考慮時效性,所以從數(shù)據(jù)源采集經(jīng)過實時計算直接得到結(jié)果。如此做時效性更好,但是弊端是由于計算過程中的中間結(jié)果沒有沉淀下來,所以當面對大量實時需求的時候,計算的復用性較差(如B想要使用A的結(jié)果),開發(fā)成本隨著需求增加直線上升。 實時

    2023年04月23日
    瀏覽(39)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包