中企动力 > 头条 > 数据分析与实战

网站性能检测评分

注:本网站页面html检测工具扫描网站中存在的基本问题,仅供参考。

数据分析与实战

离线数据分析平台实战之Flume 互联网视频课程

img

斯凯尔克

关注

Nginx介绍

一款轻量级的Web是Nginx, 也是反向代理服务器和电子邮件代理服务器。其、优点在于占有内存少,并发能力高,实际上它的并发能力确实在同等条件下相同类型的服务器中效果明显。通常情况下,我们会把nginx服务器当做一个静态资源的访问容器。

Nginx安装步骤

1. 用户root登录。

2. 观察nginx信息,执行命令:yum info nginx.

3. 如果nginx提示nginx找不见的信息,通过修改rpm源来处理后续操作,执行命令:rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm

4. 观察nginx信息。

5. 安装,执行命令: yum install nginx。在安装的过程可以输入y。

6. 启动nginx,执行命令:service nginx start

7. 访问http://192.168.0.120 查看nginx下的web页面。

Flume介绍:

它是的特点是,一个提供高可用的,高可靠,聚合和传输的系统,支持日志系统中定制各类数据发出和运用于收集数据信息;同时它也能够提供对数据进行简易的操作和处理,并把数据写到接受对方。

现在Flume只有两个版本,

Flume0.9x 之前名字叫:Flume-og

Flume1.X 之前的名字叫:Flume-ng

它们的主要区别如下:

Flume-og采用master结构体,能够保证数据的统一性,把zookeeper引入进行管理。Flume-ng就取消了master和zookeeper管理机制,变成了单一的传输工具。

Flume-ng采用不同线程对数据进行读写;在Flume-og中,读数据和写数据是由相同的一个数量的线程处理的,写的比较慢,说明阻塞flume的接收数据的当然只是肯能。

Flume结构体

Flume选择Agent为基本单位,单个agent包含source、channel、sink,三种组件。

source组件功能是接收外部数据,将数据传递到channel中;

sink组件功能是发送flume,接收到数据到目的地;

channel作用为数据传输和保存。

Flume结构分为三类:1:单agent结构:2:多agent链式,3:多路复用agent。

多agent链式结构

多路复用agent结构

source介绍

Source的作用就是接收客户端发来的数据,将数据发到channel中,source和channel是多对多关系,通常情况下一个 source会相对应多个channel。

Flume常用的source都有这些:Avro Source、Thrift Source、Exec Source、Kafka Source、Netcat Source等。

格式看下图

Channel介绍

Channel的就是提供一个数据传输隧道,供数据传输和存储。

source将数据放到channel中,sink从channel中获得数据。

Flume用的channel都有有:Memory Channel、JDBC Channel等。

格式看下图:

Sink介绍

Sink作用就是定义数据写出形式,通常情况sink从channel中拿来的数据,将数据写出到file、hdfs上。

channel和sink关系是一对多的关系。

Flume用sink都有有:Hdfs Sink、Hive Sink、File Sink、HBase Sink等。

格式如下:

安装Flume步骤

·下载flume:wget

· 修改conf/flume-env.sh文件

· 添加到flume的bin目录到环境变量中去。

· 验证是否安装成功,执行命令: flume-ng version

Flume案例

Nginx身为日志服务器,通过exec source监听日志文件,使用memory channel作为数据传输隧道,用hdfs sink将数据存储到hdfs上面。

感谢谢今日头条平台,大家喜欢交流技术的加群233025331,里面提供技术解答和行业交流!

Python 爬取淘宝商品数据挖掘分析实战 公司视频课程

img

Liz

关注

作者孙方辉

本文为CDA志愿者投稿作品,转载需授权

项目内容

本案例选择>>商品类目:沙发;

数量:共100页 4400个商品;

筛选条件:天猫、销量从高到低、价格500元以上。

项目目的

1.对商品标题进行文本分析词云可视化

2.不同关键词word对应的sales的统计分析

3.商品的价格分布情况分析

4.商品的销量分布情况分析

5.不同价格区间的商品的平均销量分布

6.商品价格对销量的影响分析

7.商品价格对销售额的影响分析

8.不同省份或城市的商品数量分布

9.不同省份的商品平均销量分布

注:本项目仅以以上几项分析为例。

项目步骤

1.数据采集:Python爬取淘宝网商品数据

2.对数据进行清洗和处理

3.文本分析:jieba分词、wordcloud可视化

4.数据柱形图可视化 barh

5.数据直方图可视化 hist

6.数据散点图可视化 scatter

7.数据回归分析可视化 regplot

工具&模块:

工具:本案例代码编辑工具 Anaconda的Spyder

模块:requests、retrying、missingno、jieba、matplotlib、wordcloud、imread、seaborn等。

原代码和相关文档后台回复“淘宝”

一、爬取数据

因淘宝网是反爬虫的,虽然使用多线程、修改headers参数,但仍然不能保证每次100%爬取,所以我增加了循环爬取,每次循环爬取未爬取成功的页直至所有页爬取成功停止。

说明:淘宝商品页为JSON格式这里使用正则表达式进行解析;

代码如下:

二、数据清洗、处理:

(此步骤也可以在Excel中完成再读入数据)

代码如下:

说明:根据需求,本案例中只取了 item_loc, raw_title, view_price, view_sales这4列数据,主要对标题、区域、价格、销量进行分析。

代码如下:

三、数据挖掘与分析:

【1】.对 raw_title列标题进行文本分析:

使用结巴分词器,安装模块pip install jieba

对 title_s(list of list格式)中的每个list的元素(str)进行过滤剔除不需要的词语,即把停用词表stopwords中有的词语都剔除掉:

因为下面要统计每个词语的个数,所以为了准确性这里对过滤后的数据 title_clean中的每个list的元素进行去重,即每个标题被分割后的词语唯一。

观察 word_count表中的词语,发现jieba默认的词典无法满足需求:

有的词语(如可拆洗、不可拆洗等)却被cut,这里根据需求对词典加入新词(也可以直接在词典dict.txt里面增删,然后载入修改过的dict.txt)

词云可视化:

安装模块 wordcloud:

方法1: pip install wordcloud

方法2:下载Packages安装:pip install软件包名称

软件包下载地址:https://lfd.uci.edu/~gohlke/pythonlibs/#wordcloud

注意:要把下载的软件包放在Python安装路径下。

代码如下:

分析结论:

1.组合、整装商品占比很高;

2.从沙发材质看:布艺沙发占比很高,比皮艺沙发多;

3.从沙发风格看:简约风格最多,北欧风次之,其他风格排名依次是美式、中式、日式、法式等;

4.从户型看:小户型占比最高、大小户型次之,大户型最少。

(说明:例如词语 ‘简约’,则统计商品标题中含有‘简约’一词的商品的销量之和,即求出具有‘简约’风格的商品销量之和)

代码如下:

对表df_word_sum中的 word和 w_s_sum两列数据进行可视化

(本例中取销量排名前30的词语进行绘图)

由图表可知:

1.组合商品销量最高 ;

2.从品类看:布艺沙发销量很高,远超过皮艺沙发;

3.从户型看:小户型沙发销量最高,大小户型次之,大户型销量最少;

4.从风格看:简约风销量最高,北欧风次之,其他依次是中式、美式、日式等;

5.可拆洗、转角类沙发销量可观,也是颇受消费者青睐的。

【3】.商品的价格分布情况分析:

分析发现,有一些值太大,为了使可视化效果更加直观,这里我们结合自身产品情况,选择价格小于20000的商品。

代码如下:

由图表可知:

1.商品数量随着价格总体呈现下降阶梯形势,价格越高,在售的商品越少;

2.低价位商品居多,价格在500-1500之间的商品最多,1500-3000之间的次之,价格1万以上的商品较少;

3.价格1万元以上的商品,在售商品数量差异不大。

【4】.商品的销量分布情况分析:

同样,为了使可视化效果更加直观,这里我们选择销量大于100的商品。

代码如下:

由图表及数据可知:

1.销量100以上的商品仅占3.4% ,其中销量100-200之间的商品最多,200-300之间的次之;

2.销量100-500之间,商品的数量随着销量呈现下降趋势,且趋势陡峭,低销量商品居多;

3.销量500以上的商品很少。

【5】.不同价格区间的商品的平均销量分布:

代码如下:

由图表可知:

1.价格在1331-1680之间的商品平均销量最高,951-1331之间的次之,9684元以上的最低;

2.总体呈现先增后减的趋势,但最高峰处于相对低价位阶段;

3.说明广大消费者对购买沙发的需求更多处于低价位阶段,在1680元以上价位越高平均销量基本是越少。

【6】.商品价格对销量的影响分析:

同上,为了使可视化效果更加直观,这里我们结合自身产品情况,选择价格小于20000的商品。

代码如下:

由图表可知:

1.总体趋势:随着商品价格增多其销量减少,商品价格对其销量影响很大;

2.价格500-2500之间的少数商品销量冲的很高,价格2500-5000之间的商品多数销量偏低,少数相对较高,但价格5000以上的商品销量均很低没有销量突出的商品。

【7】.商品价格对销售额的影响分析:

代码如下:

由图表可知:

1.总体趋势:由线性回归拟合线可以看出,商品销售额随着价格增长呈现上升趋势;

2.多数商品的价格偏低,销售额也偏低;

3.价格在0-20000的商品只有少数销售额较高,价格2万-6万的商品只有3个销售额较高,价格6-10万的商品有1个销售额很高,而且是最大值。

【8】.不同省份的商品数量分布:

代码如下:

由图表可知:

1.广东的最多,上海次之,江苏第三,尤其是广东的数量远超过江苏、浙江、上海等地,说明在沙发这个子类目,广东的店铺占主导地位;

2.江浙沪等地的数量差异不大,基本相当。

【9】.不同省份的商品平均销量分布:

代码如下:

热力型地图

作者后记

孙方辉从事数据分析工作,热爱数据统计与挖掘分析,本文献给学习Python的朋友们,欢迎大佬们的指点!

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP