hadoop+etl+mysql_hadoop项目实战--ETL--(二)实现自动向mysql中添加数据

# _*_ coding:UTF-8 _*_'''Created on 2016年12月1日

@author: duking'''import MySQLdb

import random,stringimport time

import threading'''数据库连接'''def ConnMysql():

#连接数据库

conn= MySQLdb.connect(host = "192.168.0.154", user = 'root', passwd = '123456', db = 'db_etl', charset = 'utf8')

cursor=conn.cursor()returnconn,cursor'''插入user数据'''def AddUserInfo(username,passwd):

conn,cursor=ConnMysql()

sql= "insert into userinfo(username,passwd) values(%s,%s)"param=(username,passwd)

cursor.execute(sql,param)

conn.commit()

cursor.close()

conn.close()'''插入order数据'''def AddOderInfo(warename,price):

conn,cursor=ConnMysql()

sql= "insert into oderinfo(warename,price) values(%s,%s)"param=(warename,price)

cursor.execute(sql,param)

conn.commit()

cursor.close()

conn.close()'''随机产生字符串'''def Random_Str(randomlength):

a= list(string.ascii_letters)

random.shuffle(a)return ''.join(a[:randomlength])

#随机生成订单信息

def MakeOderInfo(threadname):while(True):

#随机10~100秒生成一条Oder信息

time.sleep(random.randint(10,100))

AddOderInfo(Random_Str(random.randint(6,10)),float(round(random.uniform(10,100),2)))

print threadname+ ':a new OderInfo is Maked' +time.ctime(time.time())

#随机生成用户信息

def MakeUserInfo(threadname):while(True):

time.sleep(random.randint(20,100))

AddUserInfo(Random_Str(random.randint(6,10)),Random_Str(random.randint(6,10)))

print threadname+ ':a new UserInfo is Maked' +time.ctime(time.time())

#python 模块的入口:main函数if __name__ == '__main__':

#多线程

thread_1= threading.Thread(target=MakeOderInfo,args=('thread_1', ))

thread_2= threading.Thread(target=MakeUserInfo,args=('thread_2', ))

#启动线程

thread_1.start()

thread_2.start()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值