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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

docker-compose观察实时日志_大数据项目实战之在线教育(03实时需求) - 十一vs十一...

發(fā)布時間:2023/12/10 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 docker-compose观察实时日志_大数据项目实战之在线教育(03实时需求) - 十一vs十一... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

第1章Spark Streaming概念 Spark Streaming 是核心Spark API的擴(kuò)展,可實現(xiàn)實時數(shù)據(jù)的可擴(kuò)展,高吞吐量,容錯處理。數(shù)據(jù)可以從許多來源(如Kafka,Flume,Kinesis,或TCP套接字)中獲取,并可以使用高級函數(shù)進(jìn)行處理,處理完后的數(shù)據(jù)可以推送到文件系統(tǒng),數(shù)據(jù)庫和實時儀表板。

在內(nèi)部,他的工作原理如下,Spark Streaming接收實時輸入數(shù)據(jù)流并將數(shù)據(jù)分成批處理,然后由Spark引擎處理以批處理生成最終結(jié)果流。

第2章 項目需求及架構(gòu)設(shè)計 項目需求分析 一、數(shù)據(jù)采集平臺搭建 二、Kafka、Zookeeper中間件準(zhǔn)備 三、下游Spark Streaming對接Kafka接收數(shù)據(jù),實現(xiàn)vip個數(shù)統(tǒng)計、欄目打標(biāo)簽功能、做題正確率與掌握度的實時計算功能。

項目框架2. 技術(shù)選型 一、數(shù)據(jù)存儲:Kafka、MySql 二、數(shù)據(jù)處理:Spark 三、其他組件:Zookeeper.2 流程設(shè)計

第3章 需求原始數(shù)據(jù)格式及對應(yīng)topic1實時統(tǒng)計注冊人數(shù)kafka對應(yīng) topic: register_topic數(shù)據(jù)格式:

85571 1 2019-07-16 16:01:55用戶id 平臺id 1:PC 2:APP 3:Ohter 創(chuàng)建時間.2做題正確率數(shù)與知識點掌握度數(shù)據(jù)格式Kafka 對應(yīng)topic: qz_log數(shù)據(jù)格式:

字段含義:1005 505 29 1 1 2019-09-12 11:17:48(用戶id) (課程id) (知識點id) (題目id) (是否正確 0錯誤 1正確)(創(chuàng)建時間)

.3商品頁面到訂單頁,訂單頁到支付頁數(shù)據(jù)格式Kafka 對應(yīng)topic: page_topic

數(shù)據(jù)格式

{"app_id":"1","device_id":"102","distinct_id":"5fa401c8-dd45-4425-b8c6-700f9f74c532","event_name":"-","ip":"121.76.1535","last_event_name":"-","last_page_id":"0","next_event_name":"-","next_page_id":"2","page_id":"1","server_time":"-","uid":"245494"}

uid:用戶id app_id:平臺id deviceid:設(shè)備id disinct_id:唯一標(biāo)識Ip:用戶ip地址 last_page_id :上一頁面idpage_id:當(dāng)前頁面id 0:首頁 1:商品課程頁 2:訂單頁面 3:支付頁面next_page_id:下一頁面id .4實時統(tǒng)計學(xué)員播放視頻各時長Kafka 對應(yīng)topic: course_learn數(shù)據(jù)格式:

{"biz":"bdfb58e5-d14c-45d2-91bc-1d9409800ac3","chapterid":"1","cwareid":"3","edutypeid":"3","pe":"55","ps":"41","sourceType":"APP","speed":"2","subjectid":"2","te":"1563352166417","ts":"1563352159417","uid":"235","videoid":"2"}

biz:唯一標(biāo)識 chapterid:章節(jié)id cwareid:課件id edutypeid:輔導(dǎo)id ps:視頻播放時間區(qū)間 pe:視頻播放結(jié)束區(qū)間 sourceType:播放平臺 speed:播放倍速 ts:視頻播放開始時間(時間戳) te:視頻播放結(jié)束時間(時間戳) videoid:視頻id3.1環(huán)境準(zhǔn)備在本機(jī)三臺虛擬機(jī)上分別搭建好zookeeper 和kafka創(chuàng)建所需topic [atguigu@hadoop102 kafka]$ bin/kafka-topics.sh --zookeeper hadoop102:2181/kafka_2.4 --create --replication-factor 2 --partitions 10 --topic qz_log[atguigu@hadoop102 kafka]$ bin/kafka-topics.sh --zookeeper hadoop102:2181/kafka_2.4 --create --replication-factor 2 --partitions 10 --topic page_topic[atguigu@hadoop102 kafka]$ bin/kafka-topics.sh --zookeeper hadoop102:2181/kafka_2.4 --create --replication-factor 2 --partitions 10 --topic register_topic[atguigu@hadoop102 kafka]$ bin/kafka-topics.sh --zookeeper hadoop102:2181/kafka_2.4 --create --replication-factor 2 --partitions 10 --topic course_learn

3.2模擬數(shù)據(jù)采集模擬數(shù)據(jù)采集 將準(zhǔn)備好的log文件使用kafka生產(chǎn)者代碼發(fā)送信息到topic

注冊日志數(shù)據(jù) 日志文件 對應(yīng)topic: register_topic

做題數(shù)據(jù) qz_log 日志文件 對應(yīng)topic :qz_log

商品頁面數(shù)據(jù)page_log 日志文件 對應(yīng)topic:page_topic

視頻播放時長數(shù)據(jù)日志文件 對應(yīng)topic: course_learn

如果windows下沒有安裝hadoop環(huán)境先配置環(huán)境

?

Ip解析工具Ip解析本地庫:

.實時統(tǒng)計注冊人員信息 用戶使用網(wǎng)站或APP進(jìn)行注冊,后臺實時收集數(shù)據(jù)傳輸Kafka,Spark Streaming進(jìn)行對接統(tǒng)計,實時統(tǒng)計注冊人數(shù)。 需求1:實時統(tǒng)計注冊人數(shù),批次為3秒一批,使用updateStateBykey算子計算歷史數(shù)據(jù)和當(dāng)前批次的數(shù)據(jù)總數(shù),僅此需求使用updateStateBykey,后續(xù)需求不使用updateStateBykey。 需求2:每6秒統(tǒng)統(tǒng)計一次1分鐘內(nèi)的注冊數(shù)據(jù),不需要歷史數(shù)據(jù) 提示:reduceByKeyAndWindow算子 需求3:觀察對接數(shù)據(jù),嘗試進(jìn)行調(diào)優(yōu)。實時計算學(xué)員做題正確率與知識點掌握度 mysql建表語句:

用戶在網(wǎng)站或APP進(jìn)行做題,做完題點擊交卷按鈕,程序?qū)⒆鲱}記錄提交,傳輸?shù)終afka中,下游Spark Streaming對接kafka實現(xiàn)實時計算做題正確率和掌握度,將正確率和掌握度存入mysql中,用戶點擊交卷后刷新頁面能立馬看到自己做題的詳情。需求1:要求Spark Streaming 保證數(shù)據(jù)不丟失,每秒1000條處理速度,需要手動維護(hù)偏移量需求2:同一個用戶做在同一門課程同一知識點下做題需要去重,并且需要記錄去重后的做題id與個數(shù)。需求3:計算知識點正確率 正確率計算公式:做題正確總個數(shù)/做題總數(shù) 保留兩位小數(shù)需求4:計算知識點掌握度 去重后的做題個數(shù)/當(dāng)前知識點總題數(shù)(已知30題)*當(dāng)前知識點的正確率實時統(tǒng)計商品頁到訂單頁,訂單頁到支付頁轉(zhuǎn)換率 mysql建表語句: 用戶瀏覽課程首頁點擊下訂單,跳轉(zhuǎn)到訂單頁面,再點擊支付跳轉(zhuǎn)到支付頁面進(jìn)行支付,收集各頁面跳轉(zhuǎn)json數(shù)據(jù),解析json數(shù)據(jù)計算各頁面點擊數(shù)和轉(zhuǎn)換率,計算top3點擊量按地區(qū)排名(ip字段,需要根據(jù)歷史數(shù)據(jù)累計) 需求1:計算首頁總瀏覽數(shù)、訂單頁總瀏覽數(shù)、支付頁面總瀏覽數(shù) 需求2:計算商品課程頁面到訂單頁的跳轉(zhuǎn)轉(zhuǎn)換率、訂單頁面到支付頁面的跳轉(zhuǎn)轉(zhuǎn)換率 需求3:根據(jù)ip得出相應(yīng)省份,展示出top3省份的點擊數(shù),需要根據(jù)歷史數(shù)據(jù)累加實時統(tǒng)計學(xué)員播放視頻各時長 建表語句:

用戶在線播放視頻進(jìn)行學(xué)習(xí)課程,后臺記錄視頻播放開始區(qū)間和結(jié)束區(qū)間,及播放開始時間和播放結(jié)束時間,后臺手機(jī)數(shù)據(jù)傳輸kafka需要計算用戶播放視頻總時長、有效時長、完成時長,及各維度總播放時長。 需求1:計算各章節(jié)下的播放總時長(按chapterid聚合統(tǒng)計播放總時長) 需求2:計算各課件下的播放總時長(按cwareid聚合統(tǒng)計播放總時長) 需求3:計算各輔導(dǎo)下的播放總時長(按edutypeid聚合統(tǒng)計播放總時長) 需求4:計算各播放平臺下的播放總時長(按sourcetype聚合統(tǒng)計播放總時長) 需求5:計算各科目下的播放總時長(按subjectid聚合統(tǒng)計播放總時長) 需求6:計算用戶學(xué)習(xí)視頻的播放總時長、有效時長、完成時長,需求記錄視頻播歷史區(qū)間,對于用戶多次學(xué)習(xí)的播放區(qū)間不累計有效時長和完成時長。

播放總時長計算:(te-ts)/1000 向下取整 單位:秒 完成時長計算: 根據(jù)pe-ps 計算 需要對歷史數(shù)據(jù)進(jìn)行去重處理 有效時長計算:根據(jù)te-ts 除以pe-ts 先計算出播放每一區(qū)間需要的實際時長 * 完成時長

第4章 思考(1)Spark Streaming 下每個stage的耗時由什么決定(2)Spark Streaming task發(fā)生數(shù)據(jù)傾斜如何解決(3)Spark Streaming下如何正確操作mysql(如何正確使用連接)(4)Spark Streaming操作mysql時,相同維度的數(shù)據(jù)如何保證線程安全問題(5)如何保證kill Spark Streaming任務(wù)的時候不丟失數(shù)據(jù)(6)如何保證Spark Streaming的第一次啟動和kill后第二次啟動時據(jù)不丟失數(shù)據(jù)(7)MySql建表時 索引注意

總結(jié)

以上是生活随笔為你收集整理的docker-compose观察实时日志_大数据项目实战之在线教育(03实时需求) - 十一vs十一...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。