hadoop实例-网站用户行为分析

Posted 2sheep2simple

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hadoop实例-网站用户行为分析相关的知识,希望对你有一定的参考价值。

一、数据集

网站用户购物行为数据集2030万条,包括raw_user.csv(2000万条)和small_user.csv(30万条,适合新手)

字段说明:

user_id 用户编号,item_id 商品编号,behavior_type 用户操作类型:1(浏览)、2(收藏)、3(加入购物车)、4(购买)

user_geohash 用户地理位置哈希值,在预处理中将其转化为province省份、item_category商品分类,time 用户操作时间

二、实验任务

  • 安装Linux操作系统
  • 安装关系型数据库mysql
  • 安装大数据处理框架Hadoop
  • 安装列族数据库HBase
  • 安装数据仓库Hive
  • 安装Sqoop
  • 安装R
  • 安装Eclipse
  • 对文本文件形式的原始数据集进行预处理
  • 把文本文件的数据集导入到数据仓库Hive中
  • 对数据仓库Hive中的数据进行查询分析
  • 使用Sqoop将数据从Hive导入MySQL
  • 使用Sqoop将数据从MySQL导入HBase
  • 使用HBase Java API把数据从本地导入到HBase中
  • 使用R对MySQL中的数据进行可视化分析

技术图片

三、实验步骤

 (一)对csv进行预处理

   1.去除csv文件的表头

cd ~/下载
sed -i 1d raw_user.csv # 删除第一行
sed -i ‘1d‘ small_user.csv
head -5 raw_user.csv # 查看前5行内容
head -g small-user.csv

   2.将user_geohash转化为province,并将文件格式转化为txt

    具体转化细节不说明,本文注重整个分析过程,详细内容参考林子雨老师的博客。

   转化成功后,在该目录通过pre_deal.sh脚本加载small_user.csv生成user_table.txt文件,使用tree查看该目录结构:

   技术图片

Hive是基于Hadoop的数据仓库,在将user_table中的数据导入的数据仓库之前,需要先把user_table.txt文件上传到HDFS中。然后再Hive中创建外部表,完成数据的导入。

启动HDFS:由于笔者在安装hadoop时已完成了环境变量的配置,现在在任意目录执行下面的语句开启hadoop:技术图片

将user_table.txt文件上传到HDFS中

技术图片

在HDFS中查看该文件的前10行:

技术图片

(二)将HDFS中的文件导入到Hive数据仓库中

  1.启动mysql数据库

  mysql用于保存Hive的元数据(在安装Hive时需要配置),因此需先开启mysql服务

技术图片

 2.启动hive,启动成功后如下图所示

技术图片

3.创建数据库,并建立外部表,将HDFS中/bigdatacase/dataset目录下的文件作为该外部表的内容

hive> create database dblab;
hive> use dblab;
hive> CREATE EXTERNAL TABLE dblab.bigdata_user(id INT,
uid STRING,item_id STRING,behavior_type INT,item_category STRING,
visit_date DATE,province STRING) COMMENT ‘Welcome to xmu dblab!‘
ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘ ‘ STORED AS TEXTFILE LOCATION
‘/bigdatacase/dataset‘;

技术图片

 

4.使用Hive命令进行查询

技术图片

 

以上是关于hadoop实例-网站用户行为分析的主要内容,如果未能解决你的问题,请参考以下文章

使用Hadoop统计日志数据

Hadoop之网站流量日志数据分析

Hadoop之网站流量日志数据分析

网站用户行为分析——案例简介

大数据体系与技术hadoop实验

一个经典的MapRuduce实例------webcount(网站分析访客信息)