文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python实例pyspark以及pyt

2023-01-31 07:45

关注

%pyspark


#查询认证用户


import sys
#import MySQLdb
import mysql.connector
import pandas as pd
import datetime
import time

optmap = {
                'dbuser' : 'haoren',
                'dbpass' : 'G4d',
                'dbhost' : '172.12.112.5',
                'dbport' : 3306,
                'dbname' : 'GMDB'
                 }

def sql_select(reqsql):
    ret = ''
    try:
        db_conn = mysql.connector.connect(user=optmap['dbuser'], password=optmap['dbpass'], host=optmap['dbhost'], port=optmap['dbport'], database=optmap['dbname'])
        db_cursor=db_conn.cursor()
        count = db_cursor.execute(reqsql)
        ret = db_cursor.fetchall()
    except mysql.connector.Error as e:
        print ('Error : {}'.format(e))
    finally:
        db_cursor.close()
        db_conn.close
        return ret


userlist = []
def renzhengsingger(startday,endday):
    t1 = int(time.mktime(time.strptime(startday,'%Y-%m-%d %H:%M:%S')) )
    t2 = int(time.mktime(time.strptime(endday,'%Y-%m-%d %H:%M:%S')))
    for n in range(0,10):
        reqsql = "select PERFORMERID,sum(DURATION)/3600 from PERFORMERSHOWTIMERECORD%d where STARTTIME >=%s and STARTTIME <%s group by PERFORMERID ;" %(n,t1,t2)
        ret = sql_select(reqsql)
        
        userlist.append(ret)
    #print userlist    
    for i in range(0,10):
        for p in userlist[i]:
            print p[0],p[1]
            
renzhengsingger('2017-08-01 00:00:00','2017-09-01 00:00:00')  




======================================================================================================================

%pyspark

#查询认证用户

import sys
#import MySQLdb
import mysql.connector
import pandas as pd
import datetime
import time

optmap = {
                'dbuser' : 'haoren',
                'dbpass' : 'G4d',
                'dbhost' : '172.12.112.8',
                'dbport' : 3306,
                'dbname' : 'IMDB'
                 }

optmap1 = {
                'dbuser' : 'haoren',
                'dbpass' : 'G4d',
                'dbhost' : '172.12.112.5',
                'dbport' : 3306,
                'dbname' : 'GMDB'
                 }


def sql_select(reqsql):
    ret = ''
    try:
        db_conn = mysql.connector.connect(user=optmap['dbuser'], password=optmap['dbpass'], host=optmap['dbhost'], port=optmap['dbport'], database=optmap['dbname'])
        db_cursor=db_conn.cursor()
        count = db_cursor.execute(reqsql)
        ret = db_cursor.fetchall()
    except mysql.connector.Error as e:
        print ('Error : {}'.format(e))
    finally:
        db_cursor.close()
        db_conn.close
        return ret

def sql_select1(reqsql1):
    ret = ''
    try:
        db_conn1 = mysql.connector.connect(user=optmap1['dbuser'], password=optmap1['dbpass'], host=optmap1['dbhost'], port=optmap1['dbport'], database=optmap1['dbname'])
        db_cursor1=db_conn1.cursor()
        count = db_cursor1.execute(reqsql1)
        ret1 = db_cursor1.fetchall()
    except mysql.connector.Error as e:
        print ('Error : {}'.format(e))
    finally:
        db_cursor1.close()
        db_conn1.close
        return ret1


#定义查询认证用户函数
def renzhengsingger(startday,endday):
    t1 = int(time.mktime(time.strptime(startday,'%Y-%m-%d %H:%M:%S')) )
    t2 = int(time.mktime(time.strptime(endday,'%Y-%m-%d %H:%M:%S')))
    reqsql = "select PERFORMERID,from_unixtime(ADDTIME) from PERFORMERINFO where ADDTIME >=%s and ADDTIME < %s" %(t1,t2)
    ret = sql_select(reqsql)
    for i in ret:
        #print i[0]
        id = int(i[0])%10
        reqsql1 = "select sum(DURATION)/3600 from PERFORMERSHOWTIMERECORD%d where STARTTIME >=%s and STARTTIME <%s and PERFORMERID=%d" %(id,t1,t2,i[0])
        #print reqsql1
        ret1 = sql_select1(reqsql1)
        print i[0],",",i[1],",",ret1[0][0]
        
renzhengsingger('2017-08-01 00:00:00','2017-09-01 00:00:00')



================================================================================================
%pyspark

#encoding=gbk
#-*-coding:gbk-*-

import sys
#import MySQLdb
import mysql.connector
import pandas as pd
import datetime
import time

optmap = {
                'dbuser' : 'haoren',
                'dbpass' : 'G4d',
                'dbhost' : '172.17.12.8',
                'dbport' : 3306,
                'dbname' : 'IMDB'
                 }

optmap1 = {
                'dbuser' : 'haoren',
                'dbpass' : 'G4d',
                'dbhost' : '172.17.12.5',
                'dbport' : 3306,
                'dbname' : 'GMDB'
                 }

def sql_select(reqsql):  #定义数据库连接执行函数
    ret = ''
    try:
        db_conn = mysql.connector.connect(user=optmap['dbuser'], password=optmap['dbpass'], host=optmap['dbhost'], port=optmap['dbport'], database=optmap['dbname'])
        db_cursor=db_conn.cursor()
        count = db_cursor.execute(reqsql)
        ret = db_cursor.fetchall()
    except mysql.connector.Error as e:
        print ('Error : {}'.format(e))
    finally:
        db_cursor.close()
        db_conn.close
        return ret


def sql_select1(reqsql1):   #定义数据库连接执行函数
    ret = ''
    try:
        db_conn1 = mysql.connector.connect(user=optmap1['dbuser'], password=optmap1['dbpass'], host=optmap1['dbhost'], port=optmap1['dbport'], database=optmap1['dbname'])
        db_cursor1=db_conn1.cursor()
        count = db_cursor1.execute(reqsql1)
        ret1 = db_cursor1.fetchall()
    except mysql.connector.Error as e:
        print ('Error : {}'.format(e))
    finally:
        db_cursor1.close()
        db_conn1.close
        return ret1


#批量查询消费者的昵称

def getnickname(uid):    #定义函数
    id = int(uid)%10
    reqsql = "select CHANNELNICKNAME from  CHARBASE%d where ID=%d" %(id,uid)    #数据库字段可能含有中文,需要处理后方可正常显示
    #reqsql = "select NICKNAME from  CHARBASE%d where ID=%d" %(id,uid)
    ret = sql_select(reqsql)
    return ret

userlist = [49072058,54332450,23154709]         #定义一个字典

for i in userlist:
    #查询消费者昵称
    ret1 = getnickname(i)
    ss = ret1[0][0]
    ss = ss.encode('unicode-escape').decode('string_escape')  #开始处理带有中文的字符
    nick_name = ss.decode('gbk')         #解码后方可正常显示
    print i ,nick_name
    

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯