欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python 实现提取某个索引中某个时间段的数据方法

程序员文章站 2023-03-07 21:52:53
如下所示: from elasticsearch import elasticsearch import datetime import time impo...

如下所示:

from elasticsearch import elasticsearch
import datetime
import time
import dateutil.parser

class app(object):
 def __init__(self):
  pass

 def _es_conn(self):
  es = elasticsearch()
  return es

 def get_data(self, day,start,end):
  index_ = "gather-apk-20180330"
  query_dsl = {
   "size": 10000,
   "query": {
    "bool": {
     "must": [
      {"range": {
       "receivetime": {
        "gte": start.strftime('%y-%m-%d %h:%m:%s'),
        "lte": end.strftime('%y-%m-%d %h:%m:%s'),
        "format": "yyyy-mm-dd hh:mm:ss",
        "time_zone": "+08:00"
       }
      }},
      {
       "term": {
        "obd2_localnet_id": {
         "value": "101000"
        }
       }
      },
      {
       "term": {
        "obd2_substation_name": {
         "value": "石羊支局"
        }
       }
      }
     ]
    }
   },
   "_source": ["mac", "iptvaccount", "obd2_substation_name", "obd2_company_name", "obd2_grid_name",
      "receivetime","streambreak","kanum"]
  }
  rs = self._es_conn().search(
   index=index_,
   body=query_dsl
  )
  

if __name__ == '__main__':
 day = datetime.datetime.now()
 # the_day = day.strftime('%y%m%d')
 start = datetime.datetime.strptime('20180330 09:53:00','%y%m%d %h:%m:%s')
 end = datetime.datetime.strptime('20180330 15:44:00','%y%m%d %h:%m:%s')
 app = app()
 app.get_data(day,start,end)

以上这篇python 实现提取某个索引中某个时间段的数据方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。