寫在前面: 部落客是一名大資料的初學者,昵稱來源于《愛麗絲夢遊仙境》中的alice和自己的昵稱。作為一名網際網路小白,<code>寫部落格一方面是為了記錄自己的學習曆程,一方面是希望能夠幫助到很多和自己一樣處于起步階段的萌新</code>。由于水準有限,部落格中難免會有一些錯誤,有纰漏之處懇請各位大佬不吝賜教!個人小站:http://alices.ibilibili.xyz/ , 部落格首頁:https://alice.blog.csdn.net/ 盡管目前水準可能不及各位大佬,但我還是希望自己能夠做得更好,因為<code>一天的生活就是一生的縮影</code>。我希望<code>在最美的年華,做最好的自己</code>!
之前剛學spark時分享過一篇磨煉基礎的練習題,➤ta來了,ta來了,spark基礎能力測試題ta來了!,收到的回報還是不錯的。于是,在正式結課spark之後,部落客又為大家傾情奉獻一道關于spark的綜合練習題,希望大家能有所收獲✍
題目
答案
<1> 建立topic
<2> 讀取檔案,并對資料做過濾并輸出到新檔案
<3>讀取新檔案,将資料按照題意發送到kafka的不同分區
<4> 先在資料庫中建立好接收資料需要用到的表
<5> 使用spark streaming對接kafka之後進行計算
結語
以下是rng s8 8強賽失敗後,官微發表道歉微網誌下一級評論
資料說明:
<col>
字段
字段含義
index
資料id
child_comment
回複數量
comment_time
評論時間
content
評論内容
da_v
微網誌個人認證
like_status
贊
pic
圖檔評論url
user_id
微網誌使用者id
user_name
微網誌使用者名
vip_rank
微網誌會員等級
stamp
時間戳
<1> 在kafak中建立rng_comment主題,設定2個分區2個副本
<2>資料預處理,把空行和缺失字段的行過濾掉
<3>請把給出的檔案寫入到kafka中,根據資料id進行分區,id為奇數的發送到一個分區中,偶數的發送到另一個分區
<4>使用spark streaming對接kafka
<5>使用spark streaming對接kafka之後進行計算
在mysql中建立一個資料庫rng_comment
在資料庫rng_comment建立vip_rank表,字段為資料的所有字段
在資料庫rng_comment建立like_status表,字段為資料的所有字段
在資料庫rng_comment建立count_conmment表,字段為 時間,條數
<6>查詢出微網誌會員等級為5的使用者,并把這些資料寫入到mysql資料庫中的vip_rank表中
<7>查詢出評論贊的個數在10個以上的資料,并寫入到mysql資料庫中的like_status表中
<8>分别計算出2018/10/20 ,2018/10/21,2018/10/22,2018/10/23這四天每一天的評論數是多少,并寫入到mysql資料庫中的count_conmment表中
在指令行視窗執行kafka建立topic的指令,并指定對應的分區數和副本數
需要先寫一個實作自定義分區邏輯的java類
然後在下面的程式中引用分區類的類路徑
下面的代碼完成了:
查詢出微網誌會員等級為5的使用者,并把這些資料寫入到mysql資料庫中的vip_rank表中
查詢出評論贊的個數在10個以上的資料,并寫入到mysql資料庫中的like_status表中
運作成功後的效果
分别計算出2018/10/20 ,2018/10/21,2018/10/22,2018/10/23這四天每一天的評論數是多少,并寫入到mysql資料庫中的count_conmment表中
count_comment
本次的分享就到這裡,因為部落客還是一個萌新,能力有限,如果以上過程中出現了任何的纰漏錯誤,煩請大佬們指正。受益的朋友或對大資料技術感興趣的夥伴記得點贊關注支援一波(^U^)ノ~YO