大数据分析教程
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
0
818
0
.
3.3hive操作--创建表
创建比赛数据表match_data,要求表结构与提供的数据结构一样,信息包 含用户iduser_id、用户性别gender、商家唯一id merchant_id、购物者标签 label,均为为int类型,用户与商家交互信息activity_log为varchar类型。
user_id age_range gender merchant_id label
34176
6
0
944
-1
34176
6
0
412
-1
item_id
408895 17235
category _id 1505 1604
brand_id 7370 4396
time_stamp action_type
1107
中间表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
activity_log
2018
大数据竞赛培训之数据分析
讲师:赵利平
日期:2018年11月11日
.
1
原理介绍
2
学习目标
目录
CONTENTS
3
前期准备
4
数据分析
.
01 原理介绍
.
原理介绍
本次数据分析是采用Hive进行的, Hive是建立在 Hadoop 上的数据仓库基础 构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是 一种可以存储、查询和分析存储在Hadoop 中的大规模数据的机制。
-1 408895:1505:7370:1107:0
-1 17235:1604:4396:0818:0
-1 954723:1604:4396:0818:0
-1 275437:1604:4396:0818:0
-1 236488:1505:4396:1024:0
中间表2:将拆成行的数据activity_log中以‘:’分割的数据拆分成元素
.
3.2查看样例数据
原始数据表:train_format2.csv数据
user_id age_range gender merchant_id label
activity_log
34176
6
0
34176
6
0
944
-1 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
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;
HDFS
.
02 学习目标
.
学习目标
学习 目标
百度文库
掌握将本地文件上传至hdfs指定路 径技能
掌握创建hive表,并将本地数据 信息导入技能
掌握创建表获取指定格式、指定 信息技能
掌握转化率计算等函数
03前期准备
.
3.1hive基本操作
进入hive安装目录 cd /usr/hive/apache-hive-2.1.1-bin/
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 ',';
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数据
启动hive client(master上) bin/hive
查看数据库列表 show databases;
3.1hive基本操作 建数据库 create database hongya; //创建数据库hongya show databases; //查看数据库,发现有库hongya use hongya; //使用hongya数据库
.
3.4hive基本操作—导入数据
将root下的train_format2.csv数据导入到创建的match_data表中
load data local inpath '/root/train_format2.csv' overwrite into table match_data;
查看match_data数据