商务服务
spark实践-淘宝双十一数据分析与预测
2024-11-14 21:44

对淘宝双十一数据进行预处理、存储、查询和可视化分析。

spark实践-淘宝双十一数据分析与预测

0. 安装环境

Ubuntu18.04 Java 1.8 MySQL 5.7.31 Hadoop 3.1.3 Hive 3.1.2 Spark 2.4.0 Sqoop 1.4.7 Eclipse 4.14 Pycharm 2020.2

1. 预处理和存储

a. 将原始数据集进行预处理
b. 把文本文件的数据集导入数据仓库Hive中

1. 数据集下载与查看 2. 数据集预处理 3. 导入HDFS 4. 在Hive上创建数据库

2. Hive数据分析

3. 导入MySQL

1. hive创建内表 2. MySQL建表 3. 使用Sqoop将数据从Hive导入MySQL

4. 利用Spark预测回头客

1. 预处理训练集和测试集 2. 预测


训练技能:

  • HDFS基本操作
  • Hive基本操作之创建数据库和建表
  • 基本数据预处理方法

任务清单:

  • 将原始数据集进行预处理
  • 把文本文件的数据集导入数据仓库Hive中

1. 数据集下载与查看

数据集下载。该数据集是淘宝2015年双11前6个月(包含双11)的交易数据(交易数据有偏移,但是不影响实验的结果),里面包含3个文件,分别是用户行为日志文件、回头客训练集、回头客测试集. 下面列出这3个文件的数据格式定义: ,日志中的字段定义如下:

  1. user_id 买家id
  2. item_id 商品id
  3. cat_id 商品类别id
  4. merchant_id 卖家id
  5. brand_id 品牌id
  6. month 交易时间:月
  7. day 交易事件:日
  8. action 行为,取值范围{0,1,2,3},0表示点击,1表示加入购物车,2表示购买,3表示关注商品
  9. age_range 买家年龄分段:1表示年龄<18,2表示年龄在[18,24],3表示年龄在[25,29],4表示年龄在[30,34], 5表示年龄在[35,39],6表示年龄在[40,49],7和8表示年龄>=50,0和NULL则表示未知
  10. gender 性别:0表示女性,1表示男性,2和NULL表示未知
  11. province 收货地址省份

,,训练集和测试集拥有相同的字段,字段定义如下:

  1. user_id 买家id
  2. age_range 买家年龄分段
  3. gender 性别
  4. merchant_id 商家id
  5. label 是否是回头客,0值表示不是回头客,1值表示回头客,-1值表示该用户已经超出我们所需要考虑的预测范围。 NULL值只存在测试集,在测试集中表示需要预测的值。
 

user_id,item_id,cat_id,merchant_id,brand_id,month,day,action,age_range,gender,province 328862,323294,833,2882,2661,08,29,0,0,1,内蒙古 328862,844400,1271,2882,2661,08,29,0,1,1,山西 328862,575153,1271,2882,2661,08,29,0,2,1,山西 328862,996875,1271,2882,2661,08,29,0,1,1,内蒙古

2. 数据集预处理

删除字段名称:数据仓库Hive不需要第一行字段名称

 

1d表示删除第1行,nd表示删除第n行。

3. 导入HDFS

把上传到HDFS中,启动hadoop

 

可在http://localhost:9870上看到上传成功的数据集。 在这里插入图片描述

4. 在Hive上创建数据库

1. 启动mysql和hive
 
2. 在hive上创建数据库

数据库名:taobao

 
3. 创建表

hive内表和外表的区别: 1、在导入数据到外部表,数据并没有移动到自己的数据仓库目录下,也就是说外部表中的数据并不是由它自己来管理。 2、在删除表的时候,Hive将会把属于表的元数据和数据全部删掉;而删除外部表的时候,Hive仅仅删除外部表的元数据,数据是不会删除的! 那么,应该如何选择使用哪种表呢?在大多数情况没有太多的区别,因此选择只是个人喜好的问题。 但是作为一个经验,如果所有处理都需要由Hive完成,那么应该创建表,否则使用外部表。

内表例子:

 

外部表例子:

 

表名:user_log. 类型:外部表,包含字段:

  1. user_id int 买家id
  2. item_id int 商品id
  3. cat_id int 商品类别id
  4. merchant_id int 卖家id
  5. brand_id int 品牌id
  6. month string 交易时间:月
  7. day string 交易事件:日
  8. action int 行为,取值范围{0,1,2,3},0表示点击,1表示加入购物车,2表示购买,3表示关注商品
  9. age_range int 买家年龄分段:1表示年龄<18,2表示年龄在[18,24],3表示年龄在[25,29],4表示年龄在[30,34], 5表示年龄在[35,39],6表示年龄在[40,49],7和8表示年龄>=50,0和NULL则表示未知
  10. gender int 性别:0表示女性,1表示男性,2和NULL表示未知
  11. province string 收货地址省份
    以上就是本篇文章【spark实践-淘宝双十一数据分析与预测】的全部内容了,欢迎阅览 ! 文章地址:http://sicmodule.glev.cn/news/9662.html 
     资讯      企业新闻      行情      企业黄页      同类资讯      首页      网站地图      返回首页 歌乐夫资讯移动站 http://sicmodule.glev.cn/mobile/ , 查看更多   
最新新闻
2025年是乙巳年,老人说:明年“青蛇遇六卯,三人要发富”,指啥
乙巳年为啥被称之为“青蛇年”?古人计算时间,喜欢用天干地支,而干支历当中,六十甲子一个循环,甲辰年之后,就是乙巳年,而十
2024年想赚钱,这5个行业别错过,就算是新人,也能闷声发大财!
随着社会的不断发展和变化,行业的兴衰更迭也日益显著。对于想要在2024年赚钱的人来说,选择一个有潜力的行业至关重要。特别是这
为什么李子柒抖音涨粉最快最多?
数据显示,李子柒回归首条视频2小时获赞破百万、当日播放量破亿,点赞量已接近1000万,当日抖音涨粉量突破500万,目前其抖音粉丝
下一个李子柒,为何还是李子柒?
停更三年多,李子柒归来仍是“王者”,不仅在国内社交媒体轰动一时,也受到海外粉丝的热烈追捧。复更首支“漆器”视频发布10分钟
李子柒与微念事件:是商业大冒险 还是田园生活的逆袭?
本文系深潜atom第418篇原创作品羽衣翩跹的李子柒(本名:李佳佳)停更5个月了。公众最近关注到她,除了接受采访时谈及共同富裕、
李子柒归来仍是顶流
  在长达1200多天的停更之后,传统文化领域短视频创作者李子柒于11月12日正式回归,迅速引爆全网,一夜涨粉近400万,粉丝总数
下班搞副业成热潮:有人月入过万
最近,“下班后的年轻人开始搞第二事业了”的话题频登社交平台热搜。摆摊卖东西、喂宠物、做自媒体、去店铺兼职……在上班与下班
李子柒现状及收入揭秘
近日,关于李子柒的收入被曝光,引起了网络上的热议。这位优秀的短视频创作者在过去的一年多时间里,虽然暂停了更新,但其在海外
李子柒复出热搜!探寻她的传奇人生与背后的故事
李子柒,原名李佳佳,1990年出生于四川省绵阳市,是一位以短视频创作而闻名的美食博主。她的回归,无疑是当下网络热搜的一大焦点
李子柒事件是怎么回事 发生了什么
近两个月来,关于李子柒的事件显得扑朔迷离,这个曾经被誉为生活在世外桃源的仙女终究也难逃世俗纠纷,被卷入了一场舆论与资本的