天天看點

Spark綜合性練習(Spark,Kafka,Spark Streaming,MySQL)

寫在前面: 部落客是一名大資料的初學者,昵稱來源于《愛麗絲夢遊仙境》中的alice和自己的昵稱。作為一名網際網路小白,​<code>​寫部落格一方面是為了記錄自己的學習曆程,一方面是希望能夠幫助到很多和自己一樣處于起步階段的萌新​</code>​。由于水準有限,部落格中難免會有一些錯誤,有纰漏之處懇請各位大佬不吝賜教!個人小站:​​http://alices.ibilibili.xyz/​​ , 部落格首頁:​​https://alice.blog.csdn.net/​​ 盡管目前水準可能不及各位大佬,但我還是希望自己能夠做得更好,因為<code>一天的生活就是一生的縮影</code>。我希望<code>在最美的年華,做最好的自己</code>!

        之前剛學spark時分享過一篇磨煉基礎的練習題,➤​​ta來了,ta來了,spark基礎能力測試題ta來了!​​,收到的回報還是不錯的。于是,在正式結課spark之後,部落客又為大家傾情奉獻一道關于spark的綜合練習題,希望大家能有所收獲✍

Spark綜合性練習(Spark,Kafka,Spark Streaming,MySQL)

題目

答案

&lt;1&gt; 建立topic

&lt;2&gt; 讀取檔案,并對資料做過濾并輸出到新檔案

&lt;3&gt;讀取新檔案,将資料按照題意發送到kafka的不同分區

&lt;4&gt; 先在資料庫中建立好接收資料需要用到的表

&lt;5&gt; 使用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

時間戳

&lt;1&gt; 在kafak中建立rng_comment主題,設定2個分區2個副本

&lt;2&gt;資料預處理,把空行和缺失字段的行過濾掉

&lt;3&gt;請把給出的檔案寫入到kafka中,根據資料id進行分區,id為奇數的發送到一個分區中,偶數的發送到另一個分區

&lt;4&gt;使用spark streaming對接kafka

&lt;5&gt;使用spark streaming對接kafka之後進行計算

在mysql中建立一個資料庫rng_comment

在資料庫rng_comment建立vip_rank表,字段為資料的所有字段

在資料庫rng_comment建立like_status表,字段為資料的所有字段

在資料庫rng_comment建立count_conmment表,字段為 時間,條數

&lt;6&gt;查詢出微網誌會員等級為5的使用者,并把這些資料寫入到mysql資料庫中的vip_rank表中

&lt;7&gt;查詢出評論贊的個數在10個以上的資料,并寫入到mysql資料庫中的like_status表中

&lt;8&gt;分别計算出2018/10/20 ,2018/10/21,2018/10/22,2018/10/23這四天每一天的評論數是多少,并寫入到mysql資料庫中的count_conmment表中

Spark綜合性練習(Spark,Kafka,Spark Streaming,MySQL)

在指令行視窗執行kafka建立topic的指令,并指定對應的分區數和副本數

需要先寫一個實作自定義分區邏輯的java類

然後在下面的程式中引用分區類的類路徑

下面的代碼完成了:

查詢出微網誌會員等級為5的使用者,并把這些資料寫入到mysql資料庫中的vip_rank表中

查詢出評論贊的個數在10個以上的資料,并寫入到mysql資料庫中的like_status表中

運作成功後的效果

Spark綜合性練習(Spark,Kafka,Spark Streaming,MySQL)
Spark綜合性練習(Spark,Kafka,Spark Streaming,MySQL)

分别計算出2018/10/20 ,2018/10/21,2018/10/22,2018/10/23這四天每一天的評論數是多少,并寫入到mysql資料庫中的count_conmment表中

count_comment

Spark綜合性練習(Spark,Kafka,Spark Streaming,MySQL)
Spark綜合性練習(Spark,Kafka,Spark Streaming,MySQL)

        本次的分享就到這裡,因為部落客還是一個萌新,能力有限,如果以上過程中出現了任何的纰漏錯誤,煩請大佬們指正。受益的朋友或對大資料技術感興趣的夥伴記得點贊關注支援一波(^U^)ノ~YO

Spark綜合性練習(Spark,Kafka,Spark Streaming,MySQL)

繼續閱讀