--- title: 嘉藥_大數據分析(2021/02/01-2021/06/30) tags: 大數據分析,Hadoop description: 本門課的重點在輔導學生了解大數據的歷史由來及發展現狀,分享大數據零售行業、電信行業、互聯網行業相關企業的真實案例。 lang: zh --- # 大數據分析 ###### tags: 大數據分析,bigdata,opendata,hadoop ## 重要課程規定 ### 評分方式 1. 期中考試:30% 2. 期末考試:30% 3. 平時成績(出席、課堂表現、作業):40% 4. [額外全國競賽加分](https://tcat2021.twisc.ncku.edu.tw/):<font color="red">依課程說明</font> ## 課程大綱 本門課將以資安議題為出發角度,教導學生如何利用現有的網路相關log發掘出潛在的資安問題,並由淺入深教導學生如何看懂相關資料,並做出對應的分析結果。 ## 相關使用軟體 1. Excel 2. Apache Hadoop Pig、Hive 3. Wireshark 封包分析 ## 課程重要行程 1. 期中考:110年04月13日 2. 全國競賽初賽(課堂時間比):110年04月27日 3. <font color="RED">110年05月04日停課乙次,補課日期暫定為110年05月13日</font> 4. 期末考:110月05月25日 5. 全國競賽決賽(成大決賽):110年05月13日 下午 ## 課程相關線上教材 1. 電子書:[大數據時代必學的超吸睛視覺化工具與技術:Excel+Tableau成功晉升資料分析師](https://cnu.ebook.hyread.com.tw/bookDetail.jsp?id=136443) 2. 線上影音教學: [Hadoop 線上課程](https://www.youtube.com/watch?v=I4esbC7ipbk&list=PLUuQL_ogRVuixcTdE9Q0XhvWz6l3p9xbC) ## 初探大數據課程 1. 使用資料集 ([會員註冊資料](https://drive.google.com/file/d/1OkRopnb4NPddqcYkS2dfjuGHfDMi9GG_/view?usp=sharing)、[會員點播紀錄](https://drive.google.com/file/d/1AI36xMLLhf39qYfro7Luaj-lWMtWpkSR/view?usp=sharing)) userprofile.tsv (會員註冊資料) | 欄位名稱 | 描述 | 型態 | | -------- | -------- | -------- | | userid | 使用者 ID | chararray | | gender | 性別 | chararray | | age | 年齡 | int | | country | 國家 | chararray | | registered | 註冊日期 | chararray | userdemand.tsv (會員點播紀錄) | 欄位名稱 | 描述 | 型態 | | -------- | -------- | -------- | | userid | 使用者 ID | chararray | | time | 點聽時間 | chararray | | artname | 歌手名稱 | chararray | | traname | 歌曲名稱 | chararray | ### 2021/03/02 課堂練習題目 (基礎-Excel) #### 練習1 男性與女性的會員數分別是多少 :::spoiler 參考答案 m 182 f 137 ::: #### 練習2 來自於加拿大的男性會員人數(Canada) ::: spoiler 參考答案 29 ::: #### 練習3 年齡介於20~30歲的會員人數 ::: spoiler 參考答案 212 ::: #### 練習4 2005年以後註冊的會員人數 ::: spoiler 參考答案 300 ::: #### 練習5 請查詢出在3~6月份註冊的會員人數 ::: spoiler 參考答案 118 ::: #### 練習6 請查詢低於平均會員年齡的會員資料有哪些 ::: spoiler 參考答案 202 ::: #### 練習7 請查詢年齡最多的前名五分別是幾歲與人數為何 ::: spoiler 參考答案 21 35 22 34 24 20 23 20 19 19 20 19 ::: #### 練習8 請查詢註冊前五名的國家分別為那些,並顯示註冊人數 ::: spoiler 參考答案 Canada 60 Germany 35 China 34 Taiwan 20 Poland 19 ::: #### 回家練習 請根據資料集查詢出所有會員資料表中,年輕族群(<30歲)的會員人數分別來自於那些國家(顯示前五名) ::: spoiler 參考答案 Canada 47 Germany 23 China 21 Poland 19 United States 11 ::: ### 2021/03/09 課堂練習題目 (基礎-Excel) #### 練習1 請根據資料集查詢出所有會員資料表中,年輕族群(<30歲)的會員人數分別來自於那些國家(顯示前五名) ::: spoiler 參考答案 Canada 47 Germany 23 China 21 Poland 19 United States 11 ::: #### 練習2 請根據資料集查詢出所有會員資料表中,那些國家的女性會員註冊人數是最多的,請顯示國家名稱與註冊人數 ::: spoiler 參考答案 Canada 31 ::: #### 練習3 請根據資料集查詢出所有會員資料表中,年長族群(>40)的會員人數分別來自於那些國家(顯示前五名) :::info 在使用樞紐分析表前,可以先使用函數進行資料前處理,這樣在樞紐分析表使用時會加快查詢速度 ::: :::spoiler 參考答案 Taiwan 6 China 3 Germany 2 Canada 1 Switzerland 1 ::: #### 練習4 來自於加拿大(Canada)或男性會員人數 ::: spoiler 參考答案 213 ::: #### 練習5 請查詢每個國家的男性與女性會員人數,並顯示出女性會員人數前五名的國家 ::: spoiler Canada 31 29 60 China 18 16 34 Poland 12 7 19 Taiwan 9 11 20 Germany 9 26 35 ::: #### 練習6 請查詢每個國家男性與女性註冊會員的比例,並查詢出男女比率,並顯示出男性/女性 介於 1 ~ 1.67 的國家。 :::info 除了資料的前處理以外,也可以利用資料的後處理來塞選資料 ::: ::: spoiler 參考答案 Taiwan Norway Brazil Russian Federation United Kingdom Greece Czech Republic Slovakia ::: #### 練習7 查詢出女性占全國註冊人數超過60%的國家有哪些 ::: spoiler 參考答案 Croatia Trinidad and Tobago New Zealand Thailand Canada Minor Outlying Islands Armenia Nicaragua Bulgaria Spain Romania Poland Italy Mexico ::: ### 2021/03/16 課堂練習題目 #### 作業1 請根據資料集查詢出所有會員資料表中,年輕族群(<25歲)的會員人數分別來自於那些國家(顯示前五名) #### 作業2 請根據資料集查詢出所有會員資料表中,那些國家的男性會員註冊人數是最多的,請顯示國家名稱與註冊人數 #### 作業3 請根據資料集查詢出所有會員資料表中,年長族群(>35)的會員人數分別來自於那些國家(顯示前五名) #### 作業4 請根據資料集查詢出所有會員資料表中,查詢出每個國家壯年族群(30~50)歲的女性會員人數(顯示前五名) #### 作業5 請查詢每個國家的男性與女性會員人數,並顯示出男性會員人數前五名的國家 #### 作業6 請查詢每個國家的男性與女性會員比例,並顯示出男性會員比例最高的前五名國家,如果名次相同請依照國家名稱由A-Z排序(僅顯示前五筆資料) ### 2021/03/23 課堂練習題目 (基礎-Excel) #### 練習1 在點播紀錄中,哪一個歌手的點播次數最多 ::: spoiler 參考答案 Radiohead 997 ::: #### 練習2 在點播紀錄中,哪一首歌曲的點播次數最多 ::: spoiler 參考答案 Intro 169 ::: #### 練習3 哪一首歌曲擁有最多的歌手翻唱 :::spoiler 參考答案 Intro 103 ::: #### 練習4 哪一個國家的總點播次數最多 :::spoiler 參考答案 Canada 37110 ::: ### 2021/03/30 課堂練習題目 (Wireshark 封包解析) #### 課程檔案下載連結 [Wireshark 檔案下載](https://www.wireshark.org/download.html) [分析檔案位置](https://drive.google.com/drive/folders/1PEOVCOUbPJ-m4Z6jGQ0uRJRPslet_1o1?usp=sharing) #### 塞選器的使用 1. 擷取篩選器 (Capture filter) 2. 顯示篩選器 (Display filter) #### 擷取篩選器常見語法 Type 識別ID名稱或代號 host, port Dir 來源或目的地 src , dst Proto 限定協定 ip, tcp, udp, http, ftp #### 顯示塞選器常見語法 1. 過濾指定IP ip.addr == 172.217.24.3 ip.src == 172.217.24.3 ip.dst == 172.217.24.3 2. 查詢指定協定 http,http2,tls,arp,ftp,icmp .... 3. 常見運算子 == 等於 != 不等於 > 大於 < 小於 >= 大於等於 <= 小於等於 Contains 包含 Matches 正則表示查詢 In 在某個集合中 #### 練習1: 查詢IP 來自於 192.192.45.119 :::spoiler 參考語法 ip.addr == 192.192.45.119 ::: #### 練習2: 查詢來源IP 來自於 192.192.45.119 :::spoiler 參考語法 ip.src == 192.192.45.119 ::: #### 練習3: 查詢目的IP 來自於 192.192.45.119 :::spoiler 參考語法 ip.dst == 192.192.45.119 ::: #### 練習4: 查詢IP 來自於 192.192.45.119 且 屬於ICMP的封包 :::spoiler 參考語法 ip.src == 192.192.45.119 and icmp ::: #### 練習5: 查詢封包大小不足50的封包有哪些 :::spoiler 參考語法 frame.len < 50 ::: #### 練習6: 只顯示tcp協定且port為80的封包 :::spoiler 參考語法 tcp.port == 80 ::: #### 練習7: 查詢出使用port 80的HTTP協定的封包 :::spoiler 參考語法 tcp.port == 80 and http ::: #### 練習8: 查詢使用tcp協定且目的地的port為80的封包有哪些 ::: spoiler 參考語法 tcp.dstport == 80 ::: #### 練習9: 查詢目前gateway的mac地址為何? :::spoiler 參考語法 先利用ipconfig查詢出gateway的地址,再利用wireshark過濾出ip.src塞選出gateway的封包並查尋出mac地址 ip.src == 192.168.159.126 ::: #### 練習10: 查詢mac地址為 cc:4e:24:8e:ef:e0 的封包有哪些 :::spoiler eth.addr == cc:4e:24:8e:ef:e0 ::: #### 練習11: 查詢HTTP協定並使用POST的方法且封包大小超過500的封包有那些 :::spoiler http and frame.len > 500 and http.request.method == "POST" ::: ### 2021/04/06 課堂練習題目 (Wireshark 封包解析) #### HTTP 的風險 HTTP 是一種無加密的網路傳輸協定,請各位同學嘗試者找出一個HTTP的網站,並利用Wireshark觀察傳輸的情況吧 #### 練習1:過濾出 HTTP 的 POST 封包 :::spoiler 參考語法 http.request.method == "POST" ::: #### 練習2:嘗試讀取 HTTPS 的封包內容 :::spoiler 礙於法規無法公開於網路上。 ::: #### 練習3:請查詢HTTP中的統計數據有關於JPEG的封包有幾個,並占了多少Byte #### 練習4:請查詢封包紀錄中,目的地最多的IP為哪一個IP地址,並占了多少封包(Packets) #### 練習4:HTTP請求封包中 ### 2021/04/13 期中考 #### 考試題目 1. 請查詢出在9~12月份註冊的會員人數 :::spoiler 101 ::: 2. 請查詢註冊人數介於20~30的國家有哪些,請顯示國家名稱與會員人數 :::spoiler Taiwan 20 ::: 3. 在點播紀錄中,點播次數排名第三名的歌手為哪位歌手,請顯示歌手名稱與點播次數 :::spoiler Chemistry 780 ::: 4. 在點播紀錄中,點播次數排名第三名的歌曲為哪首歌,請顯示歌曲名稱與點播次數 :::spoiler Say You Will 74 ::: 5. 請顯示點播次數排 :::spoiler Canada 37110 Germany 14558 Turkey 10707 Poland 10664 United States 9255 ::: 6. 請根據封包紀錄檔所錄製的封包,查詢出來源端或目的端的IP為 52.117.224.148的封包數量(Packets)有多少個 :::spoiler 54 ::: 7. 請根據封包紀錄檔所錄製的封包,查詢出icmp的封包數量(Packets)有多少個,並查詢出與哪個IP進行icmp通訊 :::spoiler 192.192.45.119 ::: 8. 我們側錄到使用者曾經上過eyny的論壇並搜尋一組關鍵字,請幫我根據側錄的封包找出這組關鍵字 :::spoiler 天竺鼠車車 ::: 9. 我們側錄到使用者曾經上過eyny的論壇並有登入紀錄,請幫我根據側錄的封包找出該名使用者的帳號與密碼 :::spoiler 帳號:frank 密碼:15750705145A ::: 10. 請根據側錄的封包查詢出使用HTTP傳輸協定下載的圖片封包數量(Packets)與大小(Bytes) :::spoiler Packets:37 Bytes:508501 :::