Hadoop综合大作业

大数据分析

本次作业是在期中大作业的基础上利用hadoop和hive技术进行大数据分析

准备数据(下图为SCV截图):

 

1.对CSV文件进行预处理生成无标题文本文件,将爬虫大作业产生的csv文件上传到HDFS

首先,我们需要在本地中创建一个/usr/local/bigdatacase/dataset文件夹,具体的步骤为:

① cd /usr/local

② sudo mkdir bigdatacase

③ cd bigdatacase/

④ sudo mkdir dataset

⑤ cd dataset/

如下图所示:

 

其次,我们把lbaiduxinxi1.csv文件放到下载这个文件夹中,并使用命令把baiduxinxi1.csv文件拷贝到我们刚刚所创建的文件夹中,具体步骤如下:

① sudo cp /home/chen/下载/lagoupy.csv /usr/local/bigdatacase/dataset/ #把baiduxinxi1csv文件拷到刚刚所创建的文件夹中

② head -5 lbaiduxinxi1.csv #查看这个文件的前五行

如下图所示:

 

对CSV文件进行预处理生成无标题文本文件,步骤如下:

① sudo sed -i '1d' baiduxinxi1.csv #删除第一行记录

② head -5 baiduxinxi1.csv #查看前五行记录

如下图所示:

 

接着,启动hadoop,步骤如下:

① start-all.sh #启动hadoop

② jps #查看hadoop是否启动成功

如下图所示:

 

最后,我们把本地的文件上传至HDFS中,步骤如下:

① hdfs dfs -mkdir -p /bigdatacase/dataset #在hdfs上新建/bigdatacase/dataset

② hdfs dfs -ls /

③ hdfs dfs -put ./baiduxinxi1.csv /bigdatacase/dataset #把本地文件lagoupy.csv上传至hdfs中

④ hdfs dfs  -ls /bigdatacase/dataset #查看

⑤ hdfs dfs -cat /bigdatacase/dataset/baiduxinxi1.csv | head -5 #查看hdfs中baiduxinxi1.csv的前五行

如下图所示:

 

2.把hdfs中的文本文件最终导入到数据仓库Hive中

 首先,启动hive,步骤如下:

① service mysql start #启动mysql数据库

② cd /usr/local/hive

③ ./bin/hive #启动hive

如下图所示:

 

其次,把hdfs中的文本文件最终导入到数据仓库Hive中,并在Hive中查看并分析数据,具体步骤如下:

① create database dbpy;  -- 创建数据库dbpy

② use dbpy;

③ create external table lagou_py(id int,positionID string,city string,companyFullName string,companyLabelList string,district string,education string,firstType string,positionName string,salary string,workYear string) row format delimited fields terminated by ',' stored as textfile location '/bigdatacase/dataset/';  -- 创建表lagou_py并把hdfs中/bigdatacase/dataset/目录下的数据加载到表中

④ select * from lagou_py limit 10; -- 查看lagou_py中前10行的数据

如下图所示:

 

3.用Hive对爬虫大作业产生的进行数据分析

用聚合函数count()计算出表内有多少条行数据 hive> select count(*) from bigdata_user;

查出数据有9987条。

 

posted @ 2019-06-18 00:27  廖世豪  阅读(369)  评论(0编辑  收藏  举报