在學習和使用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強大的數據存儲功能,可以說正如微軟一樣向大數據及機器學習領域又邁出一步。
歡迎關注【統計諮詢】微信公眾號!