当前位置:   article > 正文

基于Spark+Hadoop+Java电商网店店铺回头客分析预测_基于spark+hadoop+java电商网店店铺回头客分析预测,

基于spark+hadoop+java电商网店店铺回头客分析预测,

目录

一、运行环境

二、本地数据集上传到数据仓库Hive

2.1 数据集的预处理

2.1.1 删除文件第一行记录(字段名称)

2.1.2 获取数据集中前10000条数据

2.1.3 把small_user_log.csv中的数据导入数据仓库Hive

三、Hive数据分析

3.1 查看user_log表

3.2 查询条数及统计分析

3.2.1 计算表内数据行数

3.2.2 查询uid不重复的数据条数

3.2.3 查询不重复数据条数

3.2.4 统计男女买家购买商品数量

3.2.5 查询某一天在网站购买该数量商品的用户id

3.3 用户实时查询分析

3.3.1 创建新数据表

3.3.2 导入统计后的数据

3.3.3 显示统计结果

四、将数据从Hive导入到MySQL

4.1 Hive预操作

4.1.1 创建临时表

4.1.2 数据插入

4.1.3 查看是否成功执行

4.2 使用Sqoop将数据从Hive导入MySQL

4.2.1 创建数据库

4.2.2 创建表

4.2.3 导入数据

4.2.4 查看MySQL中user_log表中的数据

五、利用Spark预测回头客

5.1 预处理test.csv和train.csv数据集

5.1.1 新建predeal_test.sh脚本文件

5.1.2 执行predeal_test.sh脚本

5.1.3 train.csv文件预处理

5.1.4 新建predeal_train.sh脚本文件

5.1.5 执行predeal_train.sh脚本文件

5.2 预测回头客

5.2.1 启用Hadoop

5.2.2 进入MySQL Shell

5.2.3 创建回头客预测表rebuy

5.2.4 启动Spark Shell

5.2.5 使用支持向量机SVM分类器预测回头客

六、利用ECharts进行数据可视化分析

6.1搭建Tomcat+MySQL+JSP开发环境

6.1.1 下载Tomcat安装包

6.1.2 启动MySQL

6.2利用Eclipse 新建可视化Web应用

6.2.1 在Eclipse中安装必要的Web组件

6.2.2 新建Dynamic Web Project

6.2.3 添加mysql-connector-java-5.1.47-bin.jar连接驱动

6.2.4 利用Eclipse 开发Dynamic Web Project应用

6.3启动项目

6.3.1 启动Server

6.3.2 在Web Browser浏览运行结果
六、利用ECharts进行数据可视化分析
ECharts是一个基于Javascript的数据可视化图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),提供直观,生动,可交互,可高度个性化定制的数据可视化图表。
由于ECharts是运行在网页前端,选用JSP作为服务端语言,读取MySQL中的数据,然后渲染到前端页面,因此还需要Tomcat作为Web服务器。
6.1搭建Tomcat+MySQL+JSP开发环境
6.1.1 下载Tomcat安装包
案例中使用的是v8.0.47,实际操作时选择的Tomcat版本为8.0.53。
至此“淘宝双11数据分析与预测课程案例”所需要的环境配置完成。另外实际操作中发现在案例教程中存在一些小问题,比如教程中Eclipse版本为3.8,但是在配置Tomcat Server时又要求配置v8.0版本,然而3.8版本的Eclipse最多仅支持到v7.0版本的Tomcat,所以实际操作时使用了更新的Eclipse版本。
本文转载自:http://www.biyezuopin.vip/onews.asp?id=16523

<%@ page language="java" import="dbtaobao.connDb,java.util.*" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
ArrayList<String[]> list = connDb.index();
%>    
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ECharts 可视化分析淘宝双11</title>
<link href="./css/style.css" type='text/css' rel="stylesheet"/>
<script src="./js/echarts.min.js"></script>
</head>
<body>
	<div class='header'>
        <p>ECharts 可视化分析淘宝双11</p>
    </div>
    <div class="content">
        <div class="nav">
            <ul>
                <li class="current"><a href="#">所有买家各消费行为对比</a></li>
                <li><a href="./index1.jsp">男女买家交易对比</a></li>
                <li><a href="./index2.jsp">男女买家各个年龄段交易对比</a></li>
                <li><a href="./index3.jsp">商品类别交易额对比</a></li>
                <li><a href="./index4.jsp">各省份的总成交量对比</a></li>
                 <li><a href="./index5.jsp">各年龄段交易比例</a></li>
            </ul>
        </div>
        <div class="container">
            <div class="title">所有买家各消费行为对比</div>
            <div class="show">
                <div class='chart-type'>比例饼图</div>
                <div id="main"></div>
            </div>
        </div>
    </div>
<script>
//基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
option = {
         backgroundColor: '#2c343c',

         title: {
             text: '所有买家消费行为比例图',
             left: 'center',
             top: 20,
             textStyle: {
                 color: '#ccc'
             }
         },

         tooltip : {
             trigger: 'item',
             formatter: "{a} <br/>{b} : {c} ({d}%)"
         },

         visualMap: {
             show: false,
             min: 80,
             max: 600,
             inRange: {
                 colorLightness: [0, 1]
             }
         },
         series : [
             {
                 name:'消费行为',
                 type:'pie',
                 radius : '55%',
                 center: ['50%', '50%'],
                 data:[
                	 {value:<%=list.get(0)[1]%>, name:'特别关注'},
                     {value:<%=list.get(1)[1]%>, name:'购买'},
                     {value:<%=list.get(2)[1]%>, name:'添加购物车'},
                     {value:<%=list.get(3)[1]%>, name:'点击'},
                 ].sort(function (a, b) { return a.value - b.value}),
                 roseType: 'angle',
                 label: {
                     normal: {
                         textStyle: {
                             color: 'rgba(255, 255, 255, 0.3)'
                         }
                     }
                 },
                 labelLine: {
                     normal: {
                         lineStyle: {
                             color: 'rgba(255, 255, 255, 0.3)'
                         },
                         smooth: 0.2,
                         length: 10,
                         length2: 20
                     }
                 },
                 itemStyle: {
                     normal: {
                         color: '#c23531',
                         shadowBlur: 200,
                         shadowColor: 'rgba(0, 0, 0, 0.5)'
                     }
                 },

                 animationType: 'scale',
                 animationEasing: 'elasticOut',
                 animationDelay: function (idx) {
                     return Math.random() * 200;
                 }
             }
         ]
     };
console.log(echarts.version);
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
</script>
</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/777761
推荐阅读
相关标签
  

闽ICP备14008679号