数据库相关
multiangle
这个作者很懒,什么都没留下…
展开
-
用Java控制SQL进行一些简单的处理
之前已经实现了SQL SERVER的配置,也能够用Java与SQL连接了。那么,现在要做的就是小试牛刀了!我要做的是处理一个关于豆瓣书评的数据集。原来导入的只有书名,用户名和评分。我现在要做的就是建立一个新表,里面包括行id,书的id,书名,用户Id,用户名和评分。主要问题是建立一个用户表和书表。当原表输入一个新行时,检测书名是否在书表里面出现过,出现过的话就用现成的书id,否则就把这个书名插入书表原创 2015-03-03 10:57:34 · 777 阅读 · 0 评论 -
使用hadoop读写mongodb
由于我之前爬取的微博数据都放在mongodb内,所以使用hadoop来处理mongodb内的数据是很自然的一种选择。 想要用hadoop读写mongodb内的数据,首先需要mongo-hadoop包。我是使用maven自动下载的,包名:org.mongodb.mongo-hadoop:mongo-hadoop-core 或者你也可以去http://search.maven.org/ 或者其他网站原创 2016-11-07 11:58:49 · 4498 阅读 · 2 评论 -
linux下各数据库安装及相关知识
这一部分主要讲mysql , mongodb 和 redis的安装和相关操作。这三个在我的程序中都有用到,分别代表了关系型数据库,非关系型数据库,内存key-value数据库 1. MySQL1.1 安装$ sudo apt-get update$ sudo apt-get upgrade$ sudo apt-get install mysql-server$ sudo apt-get in原创 2016-08-19 21:51:37 · 1731 阅读 · 0 评论 -
分布式微博爬虫运行中出现的问题及解决方法(持续更新)
9.2016/3/31 对mongodb进行模糊查询是效率低的解决办法 当对mongodb使用正则表达式查询时,普通的正序和倒序索引已经无效,因为待搜索的pattern不是从字符串开头开始的。好在mongodb提供了文档索引的功能,官方文档参见这里,至于python的实现,可以这么写collec.create_index([('dealed_text.left_content',pymongo.T原创 2015-12-19 22:58:27 · 4699 阅读 · 0 评论 -
MongoDB一些进阶操作(索引,批量操作,分片)
建立索引这篇文章讲了Mongodb中的一些常用索引操作,包括基础索引,文档索引,组合索引,唯一索引,删除索引等。摘要如下# 建立基础索引db.users.ensureIndex({age:1}) # 后台建立基础索引db.t3.ensureIndex({age:1} , {backgroud:true})# 建立文档索引db.factories.ensureIndex( { addr :原创 2016-03-18 00:37:51 · 7465 阅读 · 0 评论 -
[Python3.4]通过Redis利用BloomFilter实现数据去重
写爬虫的时候需要解决的一个很重要的问题就是需要判断得来的新链接是否之前已经爬过。如果已经爬过,则没有必要再爬。我之前采用的是非常笨拙的方法,就是把所有已经爬过的地址放在mysql的一张表中,但是问题在于,这样每一个新链接到来,都会查询一次是否该链接在表格中。这样的话,单单查询过程就会耗费磁盘大量的读写性能。而且实际运行的过程中也发现,磁盘的读取速率是写入速率的10倍以上,这显然是不可接受的。 一个原创 2015-12-16 10:13:55 · 5318 阅读 · 0 评论 -
[MySQL]调整MySQL参数提高写入速度
我用的是zip版的mysql,所以在根目录下只有一个初始的my-default.ini,如果要修改配置参数,需要将待修改的参数复制进去,然后改名为my.ini,重启Mysql服务即可生效。言归正传,之前为了结局磁盘读写的瓶颈问题,使用redis作为缓存。然而随着数据的增多,渐渐地单纯的写入操作也越来越慢。现在的表中大概2500W行左右的数据,但是每次存储都会占用大量的时间,以至于影响到了服务器的响应转载 2016-01-16 00:14:11 · 11147 阅读 · 0 评论 -
MySql避免重复插入记录
原文地址:这里今天用python抓取数据入库需要避免重复数据插入,在网上找了一些方法:方案一:使用ignore关键字如果是用主键primary或者唯一索引unique区分了记录的唯一性,避免重复插入记录可以使用:insert ignore into table_name(email,phone,user_id) values('test9@163.com','9转载 2015-12-12 13:42:35 · 1262 阅读 · 0 评论 -
使用SQLAlchemy ORM进行一些基础的操作(建表,插入,查询,删除)
引入sqlalchemy包from sqlalchemyimport Table,Column, String, create_engine,MetaData,textfrom sqlalchemy.orm import sessionmaker,mapperfrom sqlalchemy.ext.declarative import declarative_base 连接原创 2015-11-18 21:39:38 · 9450 阅读 · 1 评论 -
MySQL 5.7 zip版 安装过程
昨天下了MYSQL5.7版,一开始照着这个教程来装的,也就是, mysqld –install => net start sql=>登录 的顺序.结果在启动sql服务的时候报错,说是服务无法启动也没有报告任何错误,如下图所示。去网上查了下发现有这个问题的大有人在,经过多方查找,发现是因为5.6版本中自带data文件,而5.7版本中该文件夹没有了。对于这个问题,大家的解决方法也是各不相同,有的用回了原创 2015-11-11 21:35:23 · 1421 阅读 · 0 评论 -
[Python]分享一些用来简化与SQL Server交互的函数
由于经常需要从网上或者从下载下来的文件导入数据库,在有了pymssql包以后,感觉还是有点麻烦。或者是老忘记指令,或者是执行完以后还要取出数据,或者要用更多的行数来实现一个功能。总而言之,感觉还是不太方便。于是自己写了一个类,能够实现一些基本操作。由于我是即用即写的,所以功能肯定不全。水平所限,估计执行效率也一般。不过好歹大部分操作都能用一行解决了嘛^_^ 在下的包叫MSSQL_Interfac原创 2015-09-26 00:40:10 · 1828 阅读 · 1 评论 -
使用Python将csv文件批量化导入SQL Server
一开始的时候,是想用bulk insert的方法直接将csv文件导入数据库的,后来发现这一方法在SQL语法上是可行的,但是由于Python需要pymmsql包来与SQL Server交互,而这个包似乎并不支持这一语句=。= 无奈只能另想办法,曲线救国,先将csv文件读取到内存中,然后用cursor.executemany的方法将数据导入。虽然慢是慢了点,不过好歹实现了目的。如果有大神有更快的办法,还原创 2015-08-19 12:14:34 · 11444 阅读 · 5 评论 -
利用bulk insert指令来将csv文件导入SQL Server
之前在网上下了许多csv格式的数据。通过数据库导入感觉有点麻烦,于是打算写个脚本来执行。通过搜索,发现用bulk insert指令可以完成这一功能。然而在执行的过程中,MSSQL总是报错称 大容量加载失败。数据文件中第 1 行的第 46 列太长。请验证是否正确指定了字段终止符和行终止符。 无法从链接服务器 "(null)" 的 OLE DB 访问接口 "BULK" 获取所需的接口("IID_I原创 2015-08-13 23:55:02 · 7774 阅读 · 0 评论 -
用Java控制SQL进行一些简单的处理(改进版)
针对之前存在的问题,现在做出了改进。对于2个经常要查询的表,制定了propertyblock类和propertycontrol类,propertyblock类里3个数组,分别存放名字,id和活跃度。propertycontrol里则有一个37*37的二维数组,共1369个propertyblock类作为入口(为什么是37*37呢,26个字母+10个数字+其他字符)为了加快查找速度,每次得到一个新的名原创 2015-03-03 11:27:22 · 1798 阅读 · 0 评论 -
Java连接Sql Server的过程及遇到的问题(极端新手向)
在安装完SQL Server 2008以后,接下来要做的就是用Java实现与SQL的连接。一开始在网上找了篇文章,是用 com.sun.rowset.CachedRowSetImpl 这个类来实现的。这个类虽然在oracle上可以找到API,但是死活找不到下载的地方,而我eclipse里面又没有,花了好几天还是不行,后来换了种方法,是用JDBC来实现的。首先需要做的是下载微软的JDBC_DRIVER转载 2015-03-03 10:45:36 · 1185 阅读 · 0 评论 -
[Python] 分布式新浪爬虫的实现
写新浪爬虫是我这个暑假冒出来的想法,当时因为种种原因没能完成,一直拖到年底。期间也学习了很多其他的东西,如tornado等等。写这个爬虫的初衷是,希望能够爬取用户之间的关系网,进行社交网络分析。此外,受那篇Twitter mood predicts the stock market的影响,也希望能够分析微博用户每天的情绪变化。一开始写的时候,并没有想到要写成分布式的。我一开始只是写成单线程的形式。然原创 2015-12-18 15:07:20 · 3345 阅读 · 0 评论