千万数据条 用户特征数据 写入mysql
from mysql_tool import *
import copy s = '''
INSERT INTO `qqzone`.`myu` (`id`, `uid`, `age`, `gender`, `marriageStatus`, `education`, `consumptionAbility`, `LBS`, `interest1`, `interest2`, `interest3`, `interest4`, `interest5`, `kw1`, `kw2`, `kw3`, `kw4`, `kw5`, `topic1`, `topic2`, `topic3`, `topic4`, `topic5`, `ct`, `appIdAction`, `appIdInstall`, `os`, `carrier`, `house`) VALUES ('', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
'''.replace('\n', '') indb_fields_s = '{}{}'.format(s.split('VALUES')[], ' VALUES ').replace('`id`,', '')
fields_l = [i.replace(' ', '').replace('`', '') for i in s.split('(')[].split(')')[].split(',')] val_d = {}
for i in fields_l:
val_d[i] = 'NULL'
del val_d['id'] indb_step, indb_step_s = , ''
f = 'userFeature.data'
with open(f, 'r') as fr:
sql_d_l, indb_step_c = [],
for i in fr:
break
sql_d = copy.deepcopy(val_d)
l = i.replace('\n', '').split('|')
for ii in l:
try:
ix_ = ii.index(' ')
k, v = ii[:ix_], ii[ix_ + :]
# if k == 'appIdInstall':
# continue
sql_d[k] = v
except Exception as e:
print(e) sql_d_l.append(sql_d)
indb_step_c +=
if indb_step_c % indb_step == :
s_l = []
for d in sql_d_l:
s_l.append('("{}")'.format('","'.join([d[k] for k in d])))
indb_step_s = '{}{};'.format(indb_fields_s, ','.join(s_l))
try:
mysql_write(indb_step_s)
indb_step_c =
except Exception as e:
logs_l = [e, indb_step_s]
logs_s = '||'.join(logs_l)
print(logs_s)
sql_d, sql_d_l, indb_step_c = val_d, [], if indb_step_c % indb_step != :
s_l = []
for d in sql_d_l:
s_l.append('("{}")'.format('","'.join([d[k] for k in d])))
indb_step_s = '{}{};'.format(indb_fields_s, ','.join(s_l))
try:
mysql_write(indb_step_s)
indb_step_c =
except Exception as e:
logs_l = [e, indb_step_s]
logs_s = '||'.join(logs_l)
print(logs_s) def myindb(f, indb_fields_s, indb_step=):
with open(f, 'r') as fr:
sql_l, indb_step_c, indb_step_s = [], ,''
for i in fr:
if 'aid' in i:
continue
sql_l.append([ii for ii in i.replace('\n', '').split(',')])
indb_step_c +=
if indb_step_c % indb_step == :
s_l = []
for l in sql_l:
s_l.append('("{}")'.format('","'.join(l)))
indb_step_s = '{}{};'.format(indb_fields_s, ','.join(s_l))
try:
mysql_write(indb_step_s)
sql_l, indb_step_c = [],
except Exception as e:
logs_l = [e, indb_step_s]
logs_s = '||'.join(logs_l)
print(indb_step_s)
print(logs_s)
print(e)
if indb_step_c % indb_step != :
s_l = []
for l in sql_l:
s_l.append('("{}")'.format('","'.join(l)))
indb_step_s = '{}{};'.format(indb_fields_s, ','.join(s_l))
try:
mysql_write(indb_step_s)
except Exception as e:
logs_l = [e, indb_step_s]
logs_s = '||'.join(logs_l)
print(logs_s)
print(e) f = 'train.csv'
indb_step, indb_step_s = , ''
indb_fields_s = 'INSERT INTO `qqzone`.`myt` ( `aid`, `uid`, `label`) VALUES '
#myindb(f, indb_fields_s, indb_step) #f = 'test1.csv'
indb_step, indb_step_s = , ''
indb_fields_s = 'INSERT INTO `qqzone`.`myr` ( `aid`, `uid`) VALUES '
#myindb(f, indb_fields_s, indb_step) f = 'adFeature.csv'
indb_step, indb_step_s = , ''
indb_fields_s = 'INSERT INTO `qqzone`.`myadf` (`aid`, `advertiserId`, `campaignId`, `creativeId`, `creativeSize`,`adCategoryId`, `productId`, `productType`) VALUES '
#myindb(f, indb_fields_s, indb_step)
总的字段数、字段名确定,但是每行数据可能
缺失某些字段
千万数据条 用户特征数据 写入mysql的更多相关文章
- 第二篇:智能电网(Smart Grid)中的数据工程与大数据案例分析
前言 上篇文章中讲到,在智能电网的控制与管理侧中,数据的分析和挖掘.可视化等工作属于核心环节.除此之外,二次侧中需要对数据进行采集,数据共享平台的搭建显然也涉及到数据的管理.那么在智能电网领域中,数据 ...
- MySql的InnoDB的三层B+树可以存储两千万左右条数据的计算逻辑
总结/朱季谦 B+树是一种在非叶子节点存放排序好的索引而在叶子节点存放数据的数据结构,值得注意的是,在叶子节点中,存储的并非只是一行表数据,而是以页为单位存储,一个页可以包含多行表记录.非叶子节点存放 ...
- php从memcache读取数据再批量写入mysql的方法
这篇文章主要介绍了php从memcache读取数据再批量写入mysql的方法,可利用memcache缓解服务器读写压力,并实现数据库数据的写入操作,非常具有实用价值,需要的朋友可以参考下. 用 Mem ...
- Python分析44130条用户观影数据,挖掘用户与电影之间的隐藏信息!
01.前言 很多电影也上映,看电影前很多人都喜欢去 『豆瓣』 看影评,所以我爬取44130条 『豆瓣』 的用户观影数据,分析用户之间的关系,电影之间的联系,以及用户和电影之间的隐藏关系. 02.爬取观 ...
- PHP如何通过SQL语句将数据写入MySQL数据库呢?
1,php和MySQL建立连接关系 2,打开 3,接受页面数据,PHP录入到指定的表中 1.2两步可直接使用一个数据库链接文件即可:conn.php <?phpmysql_connect(&qu ...
- 用Nodejs+Express搭建web,nodejs路由和Ajax传数据并返回状态,nodejs+mysql通过ajax获取数据并写入数据库
小编自学Nodejs,看了好多文章发现都不全,而且好多都是一模一样的 当然了,这只是基础的demo,经供参考,但是相信也会有收获 今天的内容是用Nodejs+Express搭建基本的web,然后呢no ...
- [lua, mysql] 将多条记录数据组合成一条sql插入语句(for mysql)
-- 演示将多条记录数据组合成一条sql插入语句(for mysql) function getTpl0(tname) -- 获取表各个字段 local t = { tpl_pack = {" ...
- [NodeJs] 用Nodejs+Express搭建web,nodejs路由和Ajax传数据并返回状态,nodejs+mysql通过ajax获取数据并写入数据库
小编自学Nodejs,看了好多文章发现都不全,而且好多都是一模一样的 当然了,这只是基础的demo,经供参考,但是相信也会有收获 今天的内容是用Nodejs+Express搭建基本的web,然后呢no ...
- Mysql 数据备份与恢复,用户创建,授权
Mysql 数据备份与恢复,用户创建,授权 1. Mysqldump >outfile.sql 2. Mysql –uxxx –pxxx < backfile.sql 3. Create ...
随机推荐
- 第2节 mapreduce深入学习:13、mapreduce的整个运行过程(多看几遍)
两个问题: 1.mapTaks的个数怎么确认:与block块相关2.reducetask的个数怎么确认:没法确认,需要反复的设置尝试,找到最优值. 手动进行设置 job.setNumReduceTa ...
- 导出网页表格数据为Excel文件的前端解决方案
在工作中,我们有时会遇到这样的需求,比如:要把页面的表格数据导出为Excel文件.在此记录下自己用的解决方法.代码如下: function tableToExcel(data){ //要导出的数据,t ...
- [Python3网络爬虫开发实战] 3.1-使用urllib
在Python 2中,有urllib和urllib2两个库来实现请求的发送.而在Python 3中,已经不存在urllib2这个库了,统一为urllib,其官方文档链接为:https://docs.p ...
- Linux系统用户、组和权限管理
一.用户与组 1.用户与组的概念 在linux系统中,根据系统管理需要将用户分为三种类型: 1.超级用户:root是linux系统的超级用户,对系统拥有绝对权限.由于root用户权限太大,只有在进行系 ...
- insert,extend
#insert s = ['8','9','sfd',('45','00'),{'01':'56'}] s0 = [] while 1 : extend = input("请输入要添加的内容 ...
- selenium切换frame(iframe)
例如网页代码为: <!DOCTYPE html><html lang="en"><head> <meta charset="UT ...
- sscanf,sprintf
sprintf函数 sprintf函数原型为 int sprintf(char str, const char format, ...).作用是格式化字符串,具体功能如下所示: 将数字变量转换为字符串 ...
- jQuery实现上传进度条效果
效果:(点击上传按钮) See the Pen pjGNJr by moyu (@MoYu1991) on CodePen. html代码: <!DOCTYPE html> <h ...
- python gdal库安装
yum安装了postgis之后,会安装依赖gdal centos7.5的repo中gdal为1.11.4-3版本
- 51nod - 1278 相离的圆 (二分)
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1278 因为圆心都在x轴上,把每个圆转化成线段后,按线段的起点排序,那么对 ...