2020-10-23

一些朋友
1、python处理es数据

import sys, os, shutil
import traceback
import json
import datetime
import requests

reload(sys)  # reload 才能调用 setdefaultencoding 方法
sys.setdefaultencoding('utf-8')  # 设置 'utf-8'

headers = {'Content-Type': 'application/json'}
data = "SELECT hour from test_pv_di where dt = '2020-09-21' and hour = '99' "
result = requests.get('http://es_lianjie_info/_sql', headers=headers, data=data)
print result.url
print '接口返回code:%s' % result.status_code
print '接口返回结果:%s' % result
print result.content

ret = json.loads(result.content) #获取es上的数据内容
print(ret.get('hits').get('hits')[0].get('_source').get('req_pv')) #获取具体内容

2、python处理kafka消息

import datetime
from kafka import KafkaConsumer
consumer = KafkaConsumer('topic',
                         bootstrap_servers=['10.1.1.1:9092','10.1.1.2:9092','10.1.1.3:9092'],
                         client_id='clientid',
                         group_id='groupid',
                         auto_offset_reset='earliest'
                         )
for message in consumer:
    if not message.offset:
        offset = str(message.offset)
    else:
        offset = "0"
    if not message.key:
        key = str(message.key)
    else:
        key = "NoneKey"
    print(str(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')) + '---' + offset + '---' + key + '---' + message.value)

3、python处理MySQL数据

import os
import sys, getopt
import commands
import subprocess
import traceback
from datetime import timedelta,datetime
import urllib2
import os.path
import MySQLdb
import json

host = "mysql_host"
user = "username"
passwd = "passwd"
db = "mysql_dbname"

sql = ("select data_1 from test_table")
con = MySQLdb.connect(host=host,user=user,passwd=passwd,db=db) #连接mysql
cur=con.cursor() 
cur.execute(sql)
rows = cur.fetchall()
cur.close()
con.close()
if len(rows) > 0:
    print (rows[0][0])

4、python处理redis数据

# *** coding:utf8
import sys, os, shutil
import traceback
import json
import requests
import redis
import datetime
reload(sys)  # reload 才能调用 setdefaultencoding 方法
sys.setdefaultencoding('utf-8')  # 设置 'utf-8'
dtm = datetime.datetime.now().strftime("%m%d")
print dtm
now_hour = datetime.datetime.now().strftime("%H")
print now_hour
pv_key = 'pv%s%s00_0' % (dtm, now_hour)  #pv20231400_0
print pv_key
r = redis.StrictRedis(host='redis_host', port=19116, password = 'passwd')
today_pv = r.get(pv_key)
print '%s ,当前pv is : %s' % (pv_key, today_pv)
r.set(pv_key,999999)
r.expire(pv_key, 604800)  #失效时间 一周
r.delete(pv_key)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以通过Java中的日期时间类 `LocalDate` 和 `LocalDateTime` 来实现该功能。 首先,我们需要将时间段转换为 `LocalDateTime` 对象,然后将时间部分设置为 00:00:00 或 23:59:59,最后遍历每一天,获取每一天的开始时间和结束时间。 以下是代码示例: ```java import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.format.DateTimeFormatter; public class TimeUtils { public static void main(String[] args) { String startStr = "2020-11-20 09:09:09"; String endStr = "2021-10-09 10:10:10"; DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); LocalDateTime start = LocalDateTime.parse(startStr, formatter); LocalDateTime end = LocalDateTime.parse(endStr, formatter); // 将时间部分设置为 00:00:00 或 23:59:59 LocalDateTime startOfDay = start.with(LocalTime.MIN); LocalDateTime endOfDay = end.with(LocalTime.MAX); // 遍历每一天,获取每一天的开始时间和结束时间 LocalDate startDate = startOfDay.toLocalDate(); LocalDate endDate = endOfDay.toLocalDate(); while (!startDate.isAfter(endDate)) { LocalDateTime startOfDayOfDate = startDate.atStartOfDay(); LocalDateTime endOfDayOfDate = startDate.atTime(LocalTime.MAX); System.out.println("Start time of " + startDate + ": " + startOfDayOfDate); System.out.println("End time of " + startDate + ": " + endOfDayOfDate); startDate = startDate.plusDays(1); } } } ``` 输出结果如下: ``` Start time of 2020-11-20: 2020-11-20T00:00 End time of 2020-11-20: 2020-11-20T23:59:59.999999999 Start time of 2020-11-21: 2020-11-21T00:00 End time of 2020-11-21: 2020-11-21T23:59:59.999999999 ... Start time of 2021-10-09: 2021-10-09T00:00 End time of 2021-10-09: 2021-10-09T23:59:59.999999999 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值