大数据分析教程 ppt课件
3.2查看样例数据
原始数据表:train_format2.csv数据
user_id age_range gender merchant_id label
activity_log
34176
408895:1505:7370:1107:0
412
-1 17235:1604:4396:0818:0#954723:1604:4396:0818:0#275437:1604:4396:0818:0#236488:1505:4396:1024:0
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 ',';
3.4hive基本操作—导入数据
将root下的train_format2.csv数据导入到创建的match_data表中
load data local inpath '/root/train_format2.csv' overwrite into table match_data;
查看match_data数据
2018
大数据竞赛培训之数据分析
讲师:赵利平
日期:2018年11月11日
1
原理介绍
2
学习目标
目录
CONTENTS
3
前期准备
4
数据分析
01 原理介绍
原理介绍
本次数据分析是采用Hive进行的, Hive是建立在 Hadoop 上的数据仓库基础 构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是 一种可以存储、查询和分析存储在Hadoop 中的大规模数据的机制。
1107
0
818
0
3.3hive操作--创建表
创建比赛数据表match_data,要求表结构与提供的数据结构一样,信息包
含用户iduser_id、用户性别gender、商家唯一id merchant_id、购物者标签
label,均为为int类型,用户与商家交互信息activity_log为varchar类型。
HDFS
02 学习目标
学习目标
学习 目标
掌握将本地文件上传至hdfs指定路 径技能
掌握创建hive表,并将本地数据 信息导入技能
掌握创建表获取指定格式、指定 信息技能
掌握转化率计算等函数
03前期准备
3.1hive基本操作
进入hive安装目录 cd /usr/hive/apache-hive-2.1.1-bin/
user_id 34176 34176
age_range 6 6
gender 0 0
merchant_id 944 412
label -1 -1
item_id
408895 17235
category _id 1505 1604
brand_id 7370 4396
time_stamp action_type
启动hive client(master上) bin/hive
查看数据库列表 show databases;
3.1hive基本操作
建数据库 create database hongya; //创建数据库hongya show databases; //查看数据库,发现有库hongya use hongya; //使用hongya数据库
activity_log 408895:1505:7370:1107:0 17235:1604:4396:0818:0 954723:1604:4396:0818:0 275437:1604:4396:0818:0 236488:1505:4396:1024:0
中间表2:将拆成行的数据activity_log中以‘:’分割的数据拆分成元素
中间表1:初步创建表将activity_log中以‘#’分割的数据拆成多行数据
user_id 34176 34176 34176 34176 34176
age_range 6 6 6 6 6
gender 0 0 0 0 0
merchant_id 944 412 412 412 412
label -1 -1 -1 -1 -1
Hive 定义了简单的类 SQL 查询语言,称为 HQL,它允许熟悉 SQL 的用户查 询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作。
Hive的Sql语 句
解释为mapreduce
select * from match_data limit 100;
04 数据分析
4.1数据分析—中间表
中间表是数据库中专门存放中间计算结果的数据表。报表系统中的中间表 是普遍存在的。分析接下来的四个问题:
创建click表,写入商品点击次数top100数据 创建add_to_cart表,写入商品被加入购物车次数top100数据 创建collect表,写入商品被收藏次数top100数据 创建emption表,写入商品被购买次数top100数据
4.1数据分析—中间表
CREATE TABLE RESULT AS //创建RESULT表并获取match_data的USER_ID, ITEM_ID, BRAND_ID, ATIION_TYPE SELECT USER_ID, SPLIT(LOG_SPLIT,':')[0] AS ITEM_ID, //将拆成行的数据以:为分隔符筛选字符串第0位 SPLIT(LOG_SPLIT,':')[2] AS BRAND_ID, //将拆成行的数据以:为分隔符筛选字符串第2位 SPLIT(LOG_SPLIT,':')[4] AS ATIION_TYPE //将拆成行的数据以:为分隔符筛选字符串第4位 FROM (SELECT USER_ID,LOG_SPLIT FROM match_data LATERAL VIEW EXPLODE(SPLIT(ACTIVITY_LOG,‘#’)) ACTIVITY_LOG AS LOG_SPLIT ) T1;