華文網

R語言會成為大資料時代下的現象級程式設計語言嗎?

大資料雖然能為企業帶來很多好處,但同時它也讓開發人員們很是頭痛,更為要命的是,開發人員漸漸發現傳統程式設計語言不足以應付他們遇到的許多挑戰。

資料科學家和開發人員在處理資料時往往會有以下幾個選擇:

基於GUI的開發平臺。

C-based語言(如C,C ++和Java)。

R語言。

R語言論壇博主Oliver Bracht曾經寫過一篇關於R語言優點的主題帖子,並指出R比其他語言更適合處理更大的資料查詢。

Jan Wijffels在talkR會議上列舉了不同規模的資料集,根據經驗,百萬條記錄的資料集可以輕鬆地用標準R進行處理;百萬到十億條記錄的資料集也可以使用R來處理,

但是需要額外的努力;十億條以上的資料集就需要MapReduce演算法,而這些演算法可以在R中設計,並用Hadoop等連接器進行處理。

下面我們來看一下資料科學家都使用哪些工具和程式設計語言:

GUI開發平臺

GUI開發平臺非常友好,但是它們不足以處理大型的大資料項目目,隨著大資料漸漸成為企業的優先事務,

更多的大資料項目目將會湧現,這些GUI開發平臺會更受歡迎。

C以及C-based語言

C以及C-based語言早在1978年就被制定了程式設計語言標準,C是C ++,Java,Python以及其他物件導向程式設計語言的基礎。雖然新的C-based語言具有強大的物件導向能力,但它們在大資料查詢方面也具有一定的局限性。

C語言有一些很好的資料處理方法,程式師會選擇C是基於以下的原因:

C是用於周界預估和處理感測器資料的偉大語言。

Java生態系統類似於Hadoop。

C ++可用于處理雷達資料。

這些語言在處理GB級的資料時非常有用,但是在處理大資料時並不健壯。例如,C++可用於大資料項目目,但是要求程式師要十分熟練準確的使用指標。C-based語言的局限性使得開發人員不得不去尋找替代方案,而R語言是更新的程式設計語言,更適合處理大資料。

R是查詢和處理大資料的更好選擇

R語言的大資料程式設計是在幾年前開發的,

它用於資料分析和分散式運算。R語言的庫被廣泛應用於大型分散式平臺,而且在較小的系統上也能很好地運行,甚至還可以在個人筆記型電腦上使用。

InfoWorld的編輯Martin Heller指出,R是更適合大資料開發人員有以下幾個原因:

R語言的包和函數能夠載入各種來源的資料,除了使用read.table()函數處理的逗號之外的分隔符號,您可以複製和粘貼資料表,讀取Excel檔,將Excel連接到R,導入SAS和SPSS資料以及訪問資料庫,

Salesforce和RESTful介面。

您不需要學習標準資料導入的語法,因為RStudio Tools | Import Dataset功能表項目將幫助您通過查看文字檔或URL中的資料,設置正確的轉換選項來交互地生成正確的命令

我們來更詳細地看一下這些要點:

多個來源載入資料

在大資料爆紅之前,大多數應用程式都是從單一來源匯總資料。而大資料催生了物聯網的發展,現在許多專案都要依賴眾多來源的資料。行銷應用程式是一個典型的例子,他們需要從內部資料庫,社交媒體和客戶設備等多個來源來收集客戶資料。所以你需要一種可以從所有來源查詢和處理資料的程式設計語言。

程式師的適應程度

程式師學習新的語言需要一定的時間,不過,一般來說多功能的程式設計語言都有更陡峭的學習曲線,尤其是處理大資料之類的複雜東西。

而R是一個例外。只要程式師瞭解其基本編碼原則,就可以使用內建的庫來處理大資料。

與其他語言的相容性

R語言的優點之一就是和其他主流的程式設計語言相容。

從雲平臺中提取的能力

如果程式師學習了R語言擴展包dplyr,就可以使用它來運行不同雲平臺的大資料查詢,如Google BigQuery和Amazon Redshift。

託管公司與R相容

由於R可能成為大資料應用程式的標準程式設計語言,所以更多的託管公司開始重視R語言,以下託管公司都在近期為R語言程式師提供了新的解決方案:

Host.AG是來自Antigua 和Barbuda,的一家託管公司,它使用大資料來分析網路安全威脅並部署最佳解決方案,例如DDoS攻擊。

VPS.AG認為許多客戶依賴大資料,但是預算有限,所以他們向GB資料級的公司提供經濟託管服務。

TrueHoster深耕各行業的客戶服務,使用大資料為所有行業定制服務計畫。

隨著大資料的繼續深入發展,其他託管服務供應商對於R語言相容性的需求會上升。

R將成為大資料的未來?

大資料正在以各種方式改變我們的生活,但是卻很少有人談論大資料時如何改變程式師的生活。程式師正在尋找更強大的解決方案,他們發現,R具有許多其他語言缺乏的大資料特徵,並相信在不久的將來R語言可能會成為更流行的語言。

他們需要從內部資料庫,社交媒體和客戶設備等多個來源來收集客戶資料。所以你需要一種可以從所有來源查詢和處理資料的程式設計語言。

程式師的適應程度

程式師學習新的語言需要一定的時間,不過,一般來說多功能的程式設計語言都有更陡峭的學習曲線,尤其是處理大資料之類的複雜東西。

而R是一個例外。只要程式師瞭解其基本編碼原則,就可以使用內建的庫來處理大資料。

與其他語言的相容性

R語言的優點之一就是和其他主流的程式設計語言相容。

從雲平臺中提取的能力

如果程式師學習了R語言擴展包dplyr,就可以使用它來運行不同雲平臺的大資料查詢,如Google BigQuery和Amazon Redshift。

託管公司與R相容

由於R可能成為大資料應用程式的標準程式設計語言,所以更多的託管公司開始重視R語言,以下託管公司都在近期為R語言程式師提供了新的解決方案:

Host.AG是來自Antigua 和Barbuda,的一家託管公司,它使用大資料來分析網路安全威脅並部署最佳解決方案,例如DDoS攻擊。

VPS.AG認為許多客戶依賴大資料,但是預算有限,所以他們向GB資料級的公司提供經濟託管服務。

TrueHoster深耕各行業的客戶服務,使用大資料為所有行業定制服務計畫。

隨著大資料的繼續深入發展,其他託管服務供應商對於R語言相容性的需求會上升。

R將成為大資料的未來?

大資料正在以各種方式改變我們的生活,但是卻很少有人談論大資料時如何改變程式師的生活。程式師正在尋找更強大的解決方案,他們發現,R具有許多其他語言缺乏的大資料特徵,並相信在不久的將來R語言可能會成為更流行的語言。