余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

Spark淘宝案例

Jupyter Spark调度模式

余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

惰性求值与缓存

余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

Spark求值相当于是转换的操作,这时的转换操作没有求值执行。只有有行动操作的时候,转化操作才会实实在在的执行,这时符合进入DAG进行大数据处理的模式。cache是缓存数据,下次执行sqlDF时不再执行查询操作,这时的cache并没有求值,只有在使用的时候才会求值。

Apache Arrow

余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

上传程序

1、在app-11上,右侧打开Jupyter。
余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

2、输入密码。Yhf_1018
余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析
余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

3、上传程序,程序在GitHub中,可自行下载。一下是这次课程涉及到的程序文件及存放目录。
余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析
余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析
余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

4、上传程序文件。点击Upload本地上传。
余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

用户访问流量分布分析

day

代码讲解

余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

创建Spark Session,定义Spark Session,Spark master是app-13提交的端口是7077。
读取CSV模式的文件,跳过header。Format是日期的方式,加载数据信息。创建视图,在视图之上就可以加载SQL语句。需要注意的是,这里没有使用SQL语句执行,直接在Spark中读取对应文件。

余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

启用Apache Arrow。

余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

按天查询流量信息,从taobai,taobai是之前创建的视图,对象都是spark,根据date排序。cache是将查询数据缓存。
余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

创建View,使用SQL的方式出处理sqlDF2。

余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

对数据类型转换,之所以将create_day转换为string,是因为Apache Arrow不支持create_day类型。
余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

将sqlDF转为Pandas所识别的数据类型。创建完Pandas之后就可以画图了。

余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

将sqlDF画成图,create_day为x轴,需要设定x轴时间的各式。将x轴的数据转成45°的角。

操作

1、在后台启动Jupyter打印。
命令:tailf /tmp/jupyter.log
注:这里可以查看Jupyter运行的过程。
余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

2、点击运行,一步一步的进行,等上一步结束在进行下一步。
余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

3、运行。
余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

释放资源

每次做完运行都需要进行一次释放资源的操作。
1、返回Jupyter首页。
余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

2、查看Running。
余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

3、关闭pageViewByDate程序。
余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析
余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

Hour

1、上传程序文件。
余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

2、一步步运行。
余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

3、释放资源。
余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

客单量分析

这个指标反映了客户的购买能力。
1、上传程序。
余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

2、运行,逐步运行。
余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

3、释放资源。
余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

代码解释

余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

购买的数/用户的数=客单量。

商品分析

商品PV各环节转化率

余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

点击转化收藏率为多少,然后由收藏转化为购物车,最后由购物车转化购买有多少。还可以有点击率转化为购买的转化率。

代码解释

余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

统计商品的种类,有8916种。

余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

计算有多少商品。

余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

统计商品和商品成功购买的数量,根据数据统计量进行排序。这里只显示了前20行,商品id为303205878的购买数量是最多的,被购买了50次。这并不能说明什么,这50次可能是一个人一次购买了50个,也可能是30天中平均一天2次的购买量。现在还没有说服力。

余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

SQL查询。

余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

查询每个商品做pv,fav,cart,buy这一系列动作,然后通过这个数据在去统计相关的量。

余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

查询做相关动作的数量。

余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

保存DF。

余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

将行变列,将对应的商品id,输出多个列,每一列是相应的pv,fav,cart,buy的数量。
保存缓存。null是没有对应的数量。

余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

清理缓存。

Ratio

1、上传程序文件。
余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

2、运行。

余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析
余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

3、资源释放。
余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析

4、退出Jupyter后台,按Ctrl+C。

余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析
详细学习内容可观看Spark快速大数据处理扫一扫~~~或者引擎搜索Spark余海峰
余老师带你学习大数据-Spark快速大数据处理第八章第二节案例操作和分析