不具有通用性,留作纪念。

[root@GXB-CTRLCENTER python]# cat insert_active_user.py
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from datetime import *
from with_conn_to_db import conn_to_mysql
import urllib2,json
import time ###define yestoday 0-24 hours delta part##########
today = date.today()
yestoday = today - timedelta(days=1)
#print today,yestoday
a = str(yestoday) + ' ' + '00:00:00'
b = str(today) + ' ' + '00:00:00'
timeArray1 = time.strptime(a, "%Y-%m-%d %H:%M:%S")
timeArray2 = time.strptime(b, "%Y-%m-%d %H:%M:%S")
start_time = int(time.mktime(timeArray1)) * 1000
end_time = int(time.mktime(timeArray2)) * 1000 #####define es index and search part########
server = 'http://elk.xkops.com:9200/'
#stat_index = 'client-visit-*'
index='client-*'
#start_time = 1459146210879
#stop_time = 1459147110879
url = server + index + "/_search?pretty=true" query_date={
"query": {
"filtered": {
"query": {
"query_string": {
"query": "*",
"analyze_wildcard": True
}
},
"filter": {
"bool": {
"must": [
{
"range": {
"@timestamp": {
"gte": start_time,
"lte": end_time,
"format": "epoch_millis"
}
}
}
],
"must_not": []
}
}
}
},
"size": 0,
"aggs": {
"": {
"terms": {
"field": "visit_tenant_id",
"size": 10000000,
"order": {
"_count": "desc"
}
},
"aggs": {
"": {
"terms": {
"field": "user_id",
"size": 0,
"order": {
"_count": "desc"
}
},
"aggs": {
"": {
"terms": {
"field": "ip_address",
"size": 1,
"order": {
"_count": "desc"
}
}
}
}
}
}
}
}
} query_date = json.dumps(query_date)
req = urllib2.Request(url,query_date)
response = urllib2.urlopen(req)
page = response.read()
#print page
result = json.loads(page) ###避免当天多次插入,插入前先删除#######
sql = "delete from active_user where create_time = '%s'" % (yestoday)
with conn_to_mysql('logstash') as db:
db.execute(sql) for s in result['aggregations']['']['buckets']:
#print s
tenant_id = s['key']
if len(s['']['buckets']) != 0:
for a in range(len(s['']['buckets'])):
user_id = s['']['buckets'][a]['key']
ip_address = s['']['buckets'][a]['']['buckets'][0]['key']
#print tenant_id,user_id,ip_address
sql = "insert into active_user(tenant_id,create_time,user_id,ip_addr) values('%s','%s','%s','%s')" %(tenant_id,yestoday,user_id,ip_address)
#print sql
with conn_to_mysql('logstash') as db:
db.execute(sql)
else:
continue

最新文章

  1. bzoj4314
  2. $(document).ready()和window.onload的区别
  3. 遍历所有的选中的radio的个数和值
  4. C语言 Linux内核链表(企业级链表)
  5. 贪心 URAL 1303 Minimal Coverage
  6. Python_01 在DOS环境运行python程序
  7. C语言学习资料(转载)
  8. asp.net中下载功能
  9. 深入理解C#第二版笔记
  10. LBYL与EAFP两种防御性编程风格
  11. POJ2782:Bin Packing
  12. (办公)springboot配置aop处理请求.
  13. Python练手例子(14)
  14. Vasya And Password(CodeForces - 1051A)
  15. [转]Laravel - Where null and Where not null eloquent query example
  16. ssh 的认证原理
  17. python之旅:面向对象进阶
  18. 奇怪吸引子---ChenCelikovsky
  19. Leveldb 使用说明文档
  20. linux下jmeter持续集成Jenkins部署时问题解决

热门文章

  1. lightning mdb 源代码分析(1)
  2. SQL Server 错误:15023(创建对于用户失败)
  3. X-Japan
  4. java字符串抉择
  5. HITOJ 2662 Pieces Assignment(状压DP)
  6. PHP 用QueryList抓取网页内容
  7. hiho48 : 欧拉路·一
  8. Tomcat7 安装StartSSL证书笔记
  9. nrf51822裸机教程-硬件timer
  10. BLE-NRF51822教程-RSSI获取