---
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
:::