大数据分析教程.pptx
大数据竞赛培训之数据分析,目录,CONTENTS,原理介绍,01,原理介绍,本次数据分析是采用Hive进行的,Hive是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 HQL,它允许熟悉 SQL 的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作。,Hive的Sql语句,HDFS,解释为mapreduce,学习目标,02,掌握将本地文件上传至hdfs指定路径技能,掌握创建hive表,并将本地数据信息导入技能,掌握创建表获取指定格式、指定信息技能,掌握转化率计算等函数,学习目标,学习目标,前期准备,03,3.1hive基本操作,进入hive安装目录 cd/usr/hive/apache-hive-2.1.1-bin/启动hive client(master上)bin/hive查看数据库列表 show databases;,3.1hive基本操作,建数据库 create database hongya;/创建数据库hongya show databases;/查看数据库,发现有库hongya use hongya;/使用hongya数据库,3.2查看样例数据,原始数据表:train_format2.csv数据,中间表1:初步创建表将activity_log中以#分割的数据拆成多行数据,中间表2:将拆成行的数据activity_log中以:分割的数据拆分成元素,3.3hive操作-创建表,创建比赛数据表match_data,要求表结构与提供的数据结构一样,信息包含用户iduser_id、用户性别gender、商家唯一id merchant_id、购物者标签label,均为为int类型,用户与商家交互信息activity_log为varchar类型。,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数据,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;/lateral view和split,explode一起使用,以#为分隔符将一列数据拆成多行数据,4.1数据分析中间表,select*from RESULT limit 100;/查看前100行数据,查看表RESULT中前100行数据,4.2.1数据分析创建点击量表,创建click表,写入商品点击次数top100数据分析:商品id、点击、top100表:商品id、点击量统计、100条数据,CREATE TABLE CLICK AS/创建表click,代表点击量 SELECT ITEM_ID,COUNT(1)COUNT_1/对所有的行ITEM_ID相同的进行统计 FROM RESULT WHERE ATIION_TYPE=0/限定条件ATIION_TYPE=0 GROUP BY ITEM_ID/group by操作表示按照ITEM_ID字段的值进行分组,有相同的ITEM_ID值放到一起 ORDER BY COUNT_1 DESC/按照统计结果全局降序排序 LIMIT 100;/限制数据100行,4.2.1数据分析创建点击量表,select*from click;/查看click表中所有数据,查看click表中所有数据,第一列代表商品id,第二列代表点击量,4.2.2数据分析创建加入购物车表,创建ADD_TO_CART表,写入商品点击次数top100数据分析:商品id、加入购物车、top100表:商品id、加入购物车量统计、100条数据,CREATE TABLE ADD_TO_CART AS/创建表ADD_TO_CART,代表加入购物车量 SELECT ITEM_ID,COUNT(1)COUNT_1/对所有的行ITEM_ID相同的进行统计 FROM RESULT WHERE ATIION_TYPE=1/限定条件ATIION_TYPE=1 GROUP BY ITEM_ID/group by操作表示按照ITEM_ID字段的值进行分组,有相同的ITEM_ID值放到一起 ORDER BY COUNT_1 DESC/按照统计结果全局降序排序 LIMIT 100;/限制数据100行,4.2.2数据分析创建加入购物车表,查看ADD_TO_CART表中所有数据,第一列代表商品id,第二列代表统计量,select*from ADD_TO_CART;,4.2.3数据分析创建收藏量表,创建click表,写入商品收藏次数top100数据分析:商品id、收藏、top100表:商品id、收藏量统计、100条数据,CREATE TABLE COLLECT AS/创建表COLLECT,代表收藏量 SELECT ITEM_ID,COUNT(1)COUNT_1/对所有的行ITEM_ID相同的进行统计 FROM RESULT WHERE ATIION_TYPE=3/限定条件ATIION_TYPE=3 GROUP BY ITEM_ID/group by操作表示按照ITEM_ID字段的值进行分组,有相同的ITEM_ID值放到一起 ORDER BY COUNT_1 DESC/按照统计结果全局降序排序 LIMIT 100;/限制数据100行,4.2.4数据分析创建购买量表,创建EMPTION表,写入商品购买次数top100数据分析:商品id、购买、top100表:商品id、购买量统计、100条数据,CREATE TABLE EMPTION AS/创建表EMPTION,代表购买量 SELECT ITEM_ID,COUNT(1)COUNT_1/对所有的行ITEM_ID相同的进行统计 FROM RESULT WHERE ATIION_TYPE=2/限定条件ATIION_TYPE=2 GROUP BY ITEM_ID/group by操作表示按照ITEM_ID字段的值进行分组,有相同的ITEM_ID值放到一起 ORDER BY COUNT_1 DESC/按照统计结果全局降序排序 LIMIT 100;/限制数据100行,4.2.4数据分析创建购买量表,查看表EMPTION中所有数据,第一列表示商品id,第二列代表购买量,select*from EMPTION;,4.3.1数据分析点击购买转化率计算,CREATE TABLE CLICK_EMP AS/创建CLICK_EMP表 SELECT ITEM_ID,/商品id SUM(IF(ATIION_TYPE=0,1,0)/COUNT(1)CLICK_EMP_RATE/点击总和除以该ITEM_ID的购买总和 FROM RESULT T1 GROUP BY ITEM_ID/group by操作表示按照ITEM_ID字段的值进行分组,有相同的ITEM_ID值放到一起 ORDER BY CLICK_EMP_RATE DESC;/按照点击购买转化率降序排序,创建商品点击购买转化率表,并按照降序排列分析:商品id、点击购买转化率、降序排列表:商品id、转化率、降序,4.3.1数据分析点击购买转化率计算,查看表CLICK_EMP中前100行数据,第一列数据为item_id,第二列数据为点击购买转化率。,select*from CLICK_EMP limit 100,4.3.2数据分析加入购物车转化率计算,CREATE TABLE ADD_EMP AS/创建ADD_EMP P表 SELECT ITEM_ID,SUM(IF(ATIION_TYPE=1,1,0)/COUNT(1)CLICK_EMP_RATE/加入购物车总和除以该ITEM_ID的购买总和 FROM RESULT T1 GROUP BY ITEM_ID/group by操作表示按照ITEM_ID字段的值进行分组,有相同的ITEM_ID值放到一起 ORDER BY CLICK_EMP_RATE DESC;/按照点击购买转化率降序排序,创建商品加入购物车购买转化率表,并按照降序排列分析:商品id、加入购物车购买转化率、降序排列表:商品id、转化率、降序,4.3.2数据分析加入购物车转化率计算,查看表ADD_EMP中前100行数据,第一列数据为item_id,第二列数据为加入购物车购买转化率。,select*from ADD_EMP limit 100;,4.3.3数据分析收藏购买转化率计算,CREATE TABLE COLLECT_EMP AS/创建COLLECT_EMP表 SELECT ITEM_ID,SUM(IF(ATIION_TYPE=1,1,0)/COUNT(1)CLICK_EMP_RATE/收藏总和除以该ITEM_ID的购买总和 FROM RESULT T1 GROUP BY ITEM_ID/group by操作表示按照ITEM_ID字段的值进行分组,有相同的ITEM_ID值放到一起ORDER BY CLICK_EMP_RATE DESC;/按照点击购买转化率降序排序,创建商品收藏购买转化率表,并按照降序排列分析:商品id、收藏购买转化率、降序排列表:商品id、转化率、降序,非常感谢您的观看,