相关文章推荐
乐观的竹笋  ·  如何快速上手MuJoCo ...·  1 月前    · 
着急的跑步鞋  ·  Python ...·  1 月前    · 
年轻有为的海龟  ·  使用Python ...·  1 月前    · 
幸福的墨镜  ·  macbook python ...·  1 月前    · 
大鼻子的双杠  ·  Linux编译安装Python3.9——以C ...·  5 天前    · 
光明磊落的登山鞋  ·  YEAR 函数 (DAX) - DAX | ...·  1 年前    · 
腼腆的匕首  ·  mysql查询记录,无记录 ...·  1 年前    · 
老实的毛衣  ·  使用Selenium控制当前已经打开的chr ...·  2 年前    · 
爱旅游的冰棍  ·  矩阵归零消减序列和(openjudge ...·  2 年前    · 
腼腆的人字拖  ·  Python爬取證交所資料製圖出現retur ...·  2 年前    · 
Code  ›  数据分析python技能之es数据提取开发者社区
scroll 数据分析 大数据 python
https://cloud.tencent.com/developer/article/1197009
沉着的沙滩裤
2 年前
作者头像
有福
0 篇文章

数据分析python技能之es数据提取

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
社区首页 > 专栏 > 极客生活 > 数据分析python技能之es数据提取

数据分析python技能之es数据提取

作者头像
有福
发布 于 2018-08-28 14:34:19
1.5K 0
发布 于 2018-08-28 14:34:19
举报

Elasticsearch在NoSQL和时间序列的数据存储中占的比重越来越大。

Elasticsearch 公司的产品栈非常全面,打通数据采集,传递,存储,展示,而且部署简单快速,半天时间就可以搭建一套完整的POC出来。

目前大数据当道,数据的结构变化越来越快,越来越多的公司把原始数据存储在ES中,数据经过二次处理后在存储的mysql等结构化的数据库中。

作为数据分析师,平时和ES打交道的时间越来越多,除了对ES的查询语法熟悉之外,还需要会使用python从ES中提取自己想要的数据。

这里记录的便是基于es的python客户端来从es中提取超过10000条记录的方法。

默认ES 查询返回的记录数为10000,当然这个数字可以通过修改ES的配置来变大或者变小。但是作为数据分析师,一般不会有ES修改配置的权限。

import json
from elasticsearch import Elasticsearch
hosts = []
es = Elasticsearch(hosts=hosts)
indices = ['indice0', 'indice1']
# Initialize the scroll
page = es.search(
    index=','.join(indices),
    doc_type='demo',
    scroll='2m',
    search_type='scan',
    size=1000,
    q='user_id:123 AND type:user'    # 填写 Kibana 搜索栏里的 Lucene 查询语法字符串
sid = page['_scroll_id']
scroll_size = page['hits']['total']
print 'total scroll_size: ', scroll_size
l = []
# Start scrolling
while scroll_size > 0:
    print "Scrolling..."
    page = es.scroll(scroll_id=sid, scroll='2m')
    # Update the scroll ID
    sid = page['_scroll_id']
    # Get the number of results that we returned in the last scroll
    scroll_size = len(page['hits']['hits'])
    print "scroll size: " + str(scroll_size)
    # Do something with the obtained page
    docs = page['hits']['hits']
    l += [x['_source'] for x in docs]
 
推荐文章
乐观的竹笋  ·  如何快速上手MuJoCo MPC:实时预测控制的终极指南
1 月前
着急的跑步鞋  ·  Python Selenium爬虫长时间运行导致奔溃-百度经验
1 月前
年轻有为的海龟  ·  使用Python DBAPI与SQLAlchemy查询Trino-开源大数据平台 E-MapReduce-阿里云
1 月前
幸福的墨镜  ·  macbook python 控制手机app_使用appscript+python来控制Mac下的GUI应用程序
1 月前
大鼻子的双杠  ·  Linux编译安装Python3.9——以CentOS7为例开发者社区
5 天前
光明磊落的登山鞋  ·  YEAR 函数 (DAX) - DAX | Microsoft Learn
1 年前
腼腆的匕首  ·  mysql查询记录,无记录 count(*)返回0,max()返回null_mysql count 查不到数据返回0-CSDN博客
1 年前
老实的毛衣  ·  使用Selenium控制当前已经打开的chrome浏览器窗口_python_脚本之家
2 年前
爱旅游的冰棍  ·  矩阵归零消减序列和(openjudge 1.8.07) - 知乎
2 年前
腼腆的人字拖  ·  Python爬取證交所資料製圖出現return self._engine.get_loc(key)問題 - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号