采集分析购物平台数据

来自CloudWiki
201708010242讨论 | 贡献2018年11月20日 (二) 12:26的版本
跳转至: 导航搜索

.

使用 hive 对数据进行操作

在 master 上执行:

(1)# start-all.sh (启动 hadoop)
(2)# zkServer.sh start(各个节点均执行)
(3)# start-hbase.sh (直接运行这个命令需要将 HBASE 的 bin 目录也加
 

入到/etc/environment 中) (4)# 在 slave1 上输入命令:bin/hive --service metastore 启动 hive server,然后在 master 节点上输入命令:bin/hive 启动 hive 客户端,当所有 进程启动完全后方可执行以下操作。(所有命令需要在 hive 的安装目录下输入)


建表,加载数据

创建hongya数据库,并且查看

create database hongya;
show databases;

Show.png

建match_data表

create    table   match_data(
user_id  int,
age_range  int,
gender  int,
merchant_id int,
label  int, 
activity_log varchar(1000)
) 
row format  delimited fields terminated by  ',';

加载数据

load data local
inpath '/opt/soft/train_format2.csv' 
overwrite into table match_data;

数据加载完成.png

select * from match_data limit 100;

查看前一百行.png


创建中间表

CREATE   TABLE    RESULT  AS 
SELECT   USER_ID,
SPLIT(LOG_SPLIT,':')[0]    AS   ITEM_ID,
SPLIT(LOG_SPLIT,':')[2]    AS   BRAND_ID,
SPLIT(LOG_SPLIT,':')[4]    AS   ATIION_TYPE
FROM (SELECT  USER_ID,LOG_SPLIT
FROM match_data
LATERAL	  VIEW  EXPLODE(SPLIT(ACTIVITY_LOG,'#')) ACTIVITY_LOG  AS LOG_SPLIT )  T1;

中间表.png

select * from RESULT limit 100;

查看中间表.png

创建点击量表

CREATE TABLE CLICK  AS 
SELECT  ITEM_ID, COUNT(1)  COUNT_1 
FROM  RESULT
WHERE ATIION_TYPE ='0'
GROUP BY ITEM_ID
ORDER BY COUNT_1  DESC
LIMIT 100;

创建点击量表.png


select * from click;

查看点击量表.png