登录
首页精彩阅读R+SQLServer的大数据管理
R+SQLServer的大数据管理
2017-06-04
收藏

R+SQLServer的大数据管理

在学习和使用R语言的过程中,在数据文件的选择方面,由于csv文件在各大数据库软件以及统计分析软件都有很好的兼容性,所以一直被广泛地用作数据储存传输。笔者最近手头上有一个10多G的csv,大概有2千5百万条的记录,这真的让我以及我的R语言感到亚历山大。Excel不用说更是打不开了(Excel 2003及以前的版本最大仅支持65,536行),SAS软件花费一些时间勉强能打开,但是对某些中文的格式不兼容(特别是某些变量包含逗号的时候)。该怎么办呢?这是大数据的问题吗?怎么那么不小心就被我碰上了?

今天我们就谈谈“大数据”这个老话题。自2012年以来,大数据(Big Data)已经上过《纽约时报》《华尔街日报》的专栏封面,进入美国白宫官网的新闻,在国内更是被炒得热火朝天,互联网、工商业、高校等都纷纷进行探索讨论。大数据战略甚至成为了我们国家“十三五”十四大战略之一。

虽然“大数据”的概念很宽泛,是对规模庞大的数据对象,及其处理和应用活动的统一,但我们今天就浅谈一下它的“大”。大数据的“大”,一般是指在10TB规模左右大型数据集,但在实际应用中,很多用户把多个数据集放在一起,已经形成了PB级的数据量;例如,百度的首页导航每天需要提供的数据超过1.5PB,这些数据如果打印出来将超过5千亿张A4纸。也曾经有报道,截至20世纪末,人类生产的所有印刷材料的数据量仅为200PB。好像有点扯远了~

处理这些TB、PB级的数据,我们不妨试试强大的SQL Server。它是是微软公司推出的一个具有使用方便、可伸缩性好、与相关软件集成程度高等优点的全面的关系型数据库管理平台,可以满足数据爆炸时代和数据驱动应用程序的需求。

令人兴奋的是,微软在2016年6月正式发布的SQL Server 2016将支持R语言编程(包括大数据的算法)。据了解,这次更新是微软对Revolution Analytics公司收购的结果,该公司此前的产品Revolution R就是一款强大的大数据分析工具。所以说SQL Server 2016代表了微软向大数据及机器学习领域迈出的第一步。

感兴趣的朋友可以下载试用一下(当然,以上所说都是商业收费软件)。为了初探一下SQL Server强大的数据管理功能,下面简单介绍一下通过R语言SQL Server数据库进行读写。使用测试系统环境为win 10 家庭中文版、SQL Server 2008 R2、R 3.3.3。

(1)SQL Server的下载安装。网上有很多相关的资源,本公众号主页菜单“资源共享”下的“实用软件”也有收录。当然大家也可以下载使用精简版的MySQL(免费软件)。安装下载好之后,如下图添加名为“test”的数据库。

(2)将test数据库添加到计算机的ODBC数据源管理器中。在控制面板的“管理工具”中打开“ODBC 数据源(64 位)”,如下图设置好,其他步骤默认设置即可。

(3)在R软件中通过RODBC包对test数据库进行数据的保存和读取。测试数据选择我们常用的R软件自带鸢尾花(iris)数据。

install.packages("RODBC")#安装RODBC包

library(RODBC)#加载RODBC包

test=odbcConnect("test")#连接到SQL Server中的test数据库设置

data(iris)#提取iris数据

sqlSave(test,iris)#把iris数据保存到test数据库

iris.test=sqlQuery(test,"select * from iris")#读取数据库中的iris数据

str(iris.test); str(iris)#比较两个数据来源的数据

就这样,我们在使用R语言的强大的数据整理和分析功能的同时,借助SQL Server强大的数据存储功能,可以说正如微软一样向大数据机器学习领域又迈出一步。


数据分析咨询请扫描二维码

客服在线
立即咨询