本节将结合上面的知识,用一个spark项目进行实战——分析NHL Game数据。
国家冰球联盟(英语National Hockey League
,简写NHL),是一个由北美冰球队伍所组成的职业运动联盟。NHL是全世界最高层级的职业冰球比赛,为北美四大职业运动之一。队伍共分成东、西两个大区,每个大区各分为两个分区。
我们将进行以下步骤:
访问 https://www.kaggle.com/datasets/martinellis/nhl-game-data
下载数据:
下载完成后,里面是几个csv文件:
它们的数据结构及关系如下图:
将上面的数据上传到EMR:
[root@ip-172-31-32-28 ~]# ls -la *.csv
-rw-r--r--. 1 root root 4110999 Dec 11 2020 game.csv
-rw-r--r--. 1 root root 5436430 Dec 11 2020 game_goalie_stats.csv
-rw-r--r--. 1 root root 5590914 Dec 11 2020 game_goals.csv
-rw-r--r--. 1 root root 4236010 Dec 11 2020 game_officials.csv
-rw-r--r--. 1 root root 6119488 Dec 11 2020 game_penalties.csv
-rw-r--r--. 1 root root 765128010 Dec 11 2020 game_plays.csv
-rw-r--r--. 1 root root 379190926 Dec 11 2020 game_plays_players.csv
-rw-r--r--. 1 root root 3117301 Dec 11 2020 game_scratches.csv
-rw-r--r--. 1 root root 420141138 Dec 11 2020 game_shifts.csv
-rw-r--r--. 1 root root 71503207 Dec 11 2020 game_skater_stats.csv
-rw-r--r--. 1 root root 4509010 Dec 11 2020 game_teams_stats.csv
-rw-r--r--. 1 root root 389688 Dec 11 2020 player_info.csv
-rw-r--r--. 1 root root 1953 Dec 11 2020 team_info.csv
[root@ip-172-31-32-28 ~]# pwd
/root
将上面数据上传到HDFS:
hdfs dfs -mkdir /user/spark/warehouse/nhl-data
hdfs dfs -put /root/*.csv /user/spark/warehouse/nhl-data/
hdfs dfs -ls /user/spark/warehouse/nhl-data/
此时在HDFS中就存在这几张表了: