R语言操作mysql上亿数据量(ff包ffbase包和ETLUtils包)
平时都是几百万的数据量,这段时间公司中了个大标,有上亿的数据量。
现在情况是数据已经在数据库里面了,需要用R分析,但是完全加载不进来内存。
面对现在这种情况,R提供了ff, ffbase , ETLUtils 的解决方案。
它可以很简单的加载,转换数据库的数据进入R内存,ETLUtils 包现在已经扩展了read.odbc.ffdf
方法用来查询Oracle, MySQL, PostgreSQL & sqlite databases.。
下面我们就来展示一个例子。
require(ETLUtils) login <- list()
login$user <- "bnosac"
login$password <- "YourPassword"
login$dbname <- "YourDB"
login$host <- "localhost/IPaddress" require(RMySQL)
x <- read.dbi.ffdf(
query = "select * from semetis.keywords_performance_endofday",
dbConnect.args = list(drv = dbDriver("MySQL"),
dbname = login$dbname, user = login$user, password = login$password, host = login$host),
VERBOSE=TRUE)
1> dim(x)
[1] 14969674 27 login <- list()
login$dsn <- "YourDSN"
login$uid <- "bnosac"
login$pwd <- "YourPassword"
require(RODBC)
x <- read.odbc.ffdf(
query = "select * from semetis.keywords_performance_endofday where date = CURRENT_DATE-1",
odbcConnect.args = list(dsn = login$dsn, uid = login$uid, pwd = login$pwd),
x = x,
VERBOSE=TRUE)
1> dim(x)
[1] 15062904 27
指定本地ff文件路径
save.ffdf(ffdfname, dir=”/PATH/TO/STORE/FF/FILES”)
https://www.rdocumentation.org/packages/ffbase/versions/0.12.3/topics/save.ffdf
load.ffdf(dir=”/PATH/TO/STORE/FF/FILES”)
https://www.rdocumentation.org/packages/ffbase/versions/0.12.3/topics/load.ffdf
read.dbi.ffdf 更详细的介绍
https://www.rdocumentation.org/packages/ETLUtils/versions/1.3/topics/read.dbi.ffdf
R语言操作mysql上亿数据量(ff包ffbase包和ETLUtils包)的更多相关文章
- 网易java高级开发课程 面对上亿数据量,网易用啥技术?
- 从SQL Server到MySQL,近百亿数据量迁移实战
从SQL Server到MySQL,近百亿数据量迁移实战 狄敬超(3D) 2018-05-29 10:52:48 212 沪江成立于 2001 年,作为较早期的教育学习网站,当时技术选型范围并不大:J ...
- [翻译] C# 8.0 新特性 Redis基本使用及百亿数据量中的使用技巧分享(附视频地址及观看指南) 【由浅至深】redis 实现发布订阅的几种方式 .NET Core开发者的福音之玩转Redis的又一傻瓜式神器推荐
[翻译] C# 8.0 新特性 2018-11-13 17:04 by Rwing, 1179 阅读, 24 评论, 收藏, 编辑 原文: Building C# 8.0[译注:原文主标题如此,但内容 ...
- Linux C语言操作MySQL
原文:Linux C语言操作MySQL 1.MySQL数据库简介 MySQL是一个开源码的小型关系数据库管理系统,体积小,速度快,总体成本低,开源.MySQL有以下特性: (1) 使用C和C++编写, ...
- Redis基本使用及百亿数据量中的使用技巧分享(附视频地址及观看指南)
作者:依乐祝 原文地址:https://www.cnblogs.com/yilezhu/p/9941208.html 主讲人:大石头 时间:2018-11-10 晚上20:00 地点:钉钉群(组织代码 ...
- Go语言操作MySQL数据库
Go语言操作MySQL数据库 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用 ...
- GO学习-(23) Go语言操作MySQL + 强大的sqlx
Go语言操作MySQL MySQL是业界常用的关系型数据库,本文介绍了Go语言如何操作MySQL数据库. Go操作MySQL 连接 Go语言中的database/sql包提供了保证SQL或类SQL数据 ...
- [2]R语言在数据处理上的禀赋之——可视化技术
本文目录 Java的可视化技术 R的可视化技术 二维做图利器plot的参数配置 *权限机制 *plot独有的参数 *plot的type介绍 *title介绍 *公共参数集合--par *par的权限机 ...
- Windows7-32位系统下R语言链接mySQL数据库步骤
安装R和MySQL在此就不再多说了.网上有非常多教程能够找到.以下直接进入到odbc的安装流程. 1.下载安装mysql-connector-odbc-5.x.x-win32.msi 下载地址:htt ...
随机推荐
- 2. Retrofit2 -- Basic Authentication on Android
2. Retrofit2 -- Basic Authentication on Android android Retrofit tutorial 整合基本的认证 Retrofit 1.9 Retro ...
- PHP从千千静听服务器获取lrc歌词
<?php //转载请注明出处 uenucom function SingleDecToHex($dec) { $tmp=""; $dec=$dec%16; if($ ...
- Android开发基本入门,对于事件、适配器的理解不够深入
能到处抄点代码搞出东西来了,但对事件.对ListView这类的控件,数据解析后的视图绑定,还没有完全搞清原理. 真是年纪越大,学习能力越差了.
- mysql数据库表修改某一列的类型
下面列出:1.增加一个字段alter table user add COLUMN new1 VARCHAR(20) DEFAULT NULL; //增加一个字段,默认为空alter table use ...
- ef6 code first with Oracle 试玩记录
对于oracle 使用code first 这边文章不错: http://www.cnblogs.com/wlflovenet/p/4187455.html 补充一下: 文章中提到machine.co ...
- vhost in nodejs
关于vhost 个人理解为vhost是一种可以在一个ip下同时部署多个不同域名站点的的概念. 其好处就是对一些小型的网站不必每个网站都占用一个ip,或者说一个服务,举个例子,vhost的概念就相当于打 ...
- EntityFramework :数据库创建
控制数据库的位置 默认情况下,数据库是创建在localhost\SQLEXPRESS服务器上,并且默认的数据库名为命名空间+context类名,例如我们前面的BreakAway.BreakAwayCo ...
- Python_selenium之获取当前页面的href属性,id属性,图片信息和截全屏
Python_selenium之获取当前页面的href属性,id属性,图片信息和截全屏 一. 获取当前页面的全部信息 1. 图片信息包括图片名称.图片大小等信息 2. 只需将图片信息打印出来(ima ...
- hdu 5090 Game with Pearls(最大匹配)
Game with Pearls Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) ...
- springside4
https://github.com/springside/springside4/wiki/Design Design 1. Web MVC Framwork: SpringMVC3.0 Restf ...