storm 写入mysql_使用Python编写Storm程序,无法将结果写入MySQL

使用Python编写Storm程序,无法将结果写入MySQL0

我使用Python作为编程语言写一个关联关系挖掘的程序部署在Storm集群,将jar包提交到集群后无法将结果写入数据库,贴上写入结果的bolt代码,希望大家帮忙看看,不胜感激: #coding=utf-8 import MySQLdb import logging from pyleus.storm import SimpleBolt log = logging.getLogger('log_results') def write_result(freqset,count):#将结果写入数据库 conn = MySQLdb.connect(host='10.1.1.5',user='root',passwd='',db='datamining',port=3306) cur = conn.cursor() st = '' for i in freqset:#转换成字符串 st = st + i + ',' sql = "select * from result where freqset = " + "'"+ st +"'"#查询是否已经在数据库中存在 cur.execute(sql) returned_value = cur.fetchone() if returned_value != None:#如果在则更新计数值 supnum = returned_value[1]+count sql1 = "update result set supnum = %s where freqset = '%s';" %(str(supnum),st) cur.execute(sql1) conn.commit else:#不在则插入数据 value = [st,count] sql2 = 'insert into result values(%s,%s)' cur.execute(sql2,value) conn.commit() cur.close() conn.close() class LogResultsBolt(SimpleBolt): def process_tuple(self, tup):#接收上游频繁集,及其计数值 freqset, count = tup.values log.debug("%s: %d", freqset, count)#写入log中 write_result(freqset, count) if __name__ == '__main__': logging.basicConfig( level=logging.DEBUG, filename='/tmp/results.log', format="%(message)s", filemode='a', ) LogResultsBolt().run()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值