千万数据条 用户特征数据 写入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 ...
随机推荐
- 诊断:RHEL7安装11.2RAC时root.sh错误ohasd failed to start
RHEL 7.5中安装11gRAC时,在grid infrastructure的root.sh执行时,报错: # /oracle/product/11g/grid/root.sh ... Adding ...
- 自动下载相对应的jar包
一.去到需要的 maven下载地址 http://mvnrepository.com/artifact/org.apache.struts/struts2-core/2.5.13 二.然后去到 pom ...
- LINUX:Contos7.0 / 7.2 LAMP+R 下载安装Mysql篇
文章来源:http://www.cnblogs.com/hello-tl/p/7569097.html 更新时间:2017-09-21 16:06 简介 LAMP+R指Linux+Apache+Mys ...
- day21 04 三级菜单
day21 04 三级菜单 1.使用递归调用的方法 整体代码类型比较简单如下: menu={'北京':{'海淀':{'a':{},'h':{},'c':{}},'昌平':{'沙河':{},'天通苑': ...
- python实现tcp文件下载器
服务器端代码 import socket import os import threading # 处理客户端请求下载文件的操作(从主线程提出来的代码) def deal_client_request ...
- 基于vue实现模糊匹配(这里以邮箱模糊匹配为例,其他的模糊匹配都可以类比)
html部分(主要部分): js: data: methods: 效果图:
- 标准sqlserver连接语句
sqlserver左右全内连接 原始链接http://www.cnblogs.com/youzhangjin/archive/2009/05/22/1486982.html 连接条件可在FR ...
- Unity3D 固定功能函数
Unity 3D 测试固定功能函数执行顺序 1. 在GameObject和脚本激活状态下,测试: 2. 在GameObject激活状态下,测试: 3. 在2种情况都不激活的状态下测试:脚本无输出: 函 ...
- BNUOJ 5997 Fibonacci again and again
Fibonacci again and again Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on HD ...
- 九度oj 题目1516:调整数组顺序使奇数位于偶数前面
题目1516:调整数组顺序使奇数位于偶数前面 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:3416 解决:1091 题目描述: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序, ...