3.筛查后的数据进行基础的数据整理(主要就是数据的分组聚合等操作)
4.整理完成的数据转换成需要输出的数据格式(输出到文件,数据库等)
第一步
获取用户行为数据
一般用户的行为数据在数据库,比较多的由mysql,mongo,es等
本次就以es为例:
1.初始化es对象
Python学习交流Q群:906715085###
from elasticsearch import Elasticsearch
# 初始化es
es = Elasticsearch(
['10.10.3.13:19200', '10.10.3.15:19200', '10.10.3.41:19200'], # 连接集群,以列表的形式存放各节点的IP地址
sniff_on_start=True, # 连接前测试
sniff_on_connection_fail=True, # 节点无响应时刷新节点
sniff_timeout=60 # 设置超时时间
# 除开链接指定的IP地址外,其他的都可以不设置,使用默认值
)
2.获取es数据:这里写的比较简单,条件只有请求的时间范围,调用es的search方法查询,参数为index:索引名,doc_type:类型名,body:查询语句,这里完全就是dll语句,相比于java来说简单了很多
def get\_es\_data(startTime, endTime):
query = {
"query": {
"range": {
"requestTime": {
"gte": startTime,
"lte": endTime
}
}
},
"size": 50000
}
all_search = es.search(index="bury\_point\_log", doc_type="main", body=query) res = all_search['hits']['hits'] return res
在对这个语句的查询过程中,有一个弊端,数据量过大的时候,size也必须设置的很大,导致查询效率特别低,另外一种方式就是使用聚合语句,把本来要在panda中要做的事情,先在es中做掉一部分
这个查询效率就特别快
def get\_es\_data\_agg():
query = {
"query": {
"range": {
"requestTime": {
### 一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
![](https://img-blog.csdnimg.cn/img_convert/9f49b566129f47b8a67243c1008edf79.png)
### 二、学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
![](https://img-blog.csdnimg.cn/img_convert/8c4513c1a906b72cbf93031e6781512b.png)
### 三、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
![](https://img-blog.csdnimg.cn/afc935d834c5452090670f48eda180e0.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA56iL5bqP5aqb56eD56eD,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)