如何聯合R與Hadoop更好處理大資料!

2021-07-22 05:05:32 字數 1513 閱讀 8804

大資料時代,為了滿足用r語言處理pb量級資料的需求,聰明的人們發現了一種便捷的方法,即把已有的2種先進技術合二為一——聯合r與hadoop,這樣,r便可擁有在分布式檔案系統(hdfs)上處理大資料的能力!以下,

大聖眾包威客平台

將提供聯合二者的3種方法的具體操作辦法。

一、使用rhadoop——在mapreduce模式下執行r函式

作為revolutionanalytics下的乙個開源庫,rhadoop與rhipe的功能相似——也是在mapreduce模式下執行r函式的。例如,想要連線r和hbase,則可以使用rhbase包中的函式,想要一些函式來連線r和分布式檔案系統(hdfs),可以選擇rdfs包;想要一些讓r和hadoop聯合作業的函式,可以考慮rmr包;想在hadoop中對大資料集進行一些常用的資料整理操作,可以使用plyrmr包;等等。

以下,將會舉出乙個使用rmr包中的函式讓r與hadoop聯合作業的例子:

rhadoop需要對r進行一些設定,並且需要hadoop集群上一些包的支援,而且rhadoop允許開發者在r函式中定義並呼叫mapreduce函式。這兩點上,與馬上將要說的第二種方法「使用rhipe包」是一樣的。

二、使用rhipe包——允許使用者在r中使用mapreduce

第二種方法是,讓rhipe包允許使用者在r中使用mapreduce。值得注意的是,使用此方法,首先r需要被安裝在hadoop集群中的每乙個資料節點上,另外,每個節點還要安裝protocolbuffers,使得rhipe在每個節點上都可以被使用。如果選擇此方法,比較麻煩的是相應的前期準備工作需要先做好。

以下,將會舉出在r中利用rhipe包應用mapreduce框架的範例:

三、使用streamingapis——安裝和設定均很方便

這是3種方法中最為簡單的一種。streamingapi能夠將r語言中的函式傳入,並在mapreduce模式下執行這些函式,是hadoop的特點之一。而且,貼心的是,使用者並不需要額外開啟客戶端之類的東西,因為,這些streamingapi可以將任意能在mapreduce模式下訪問和操作標準i/o介面的r指令碼傳入hadoop中。不過,比較麻煩的是,在執行函式方面,streamingapis需要將函式依次map和reduce。

請看以下例子:

條條大路通羅馬,以上3種方法只是眾多方法中比較簡單常用的,使用者其實也可以使用apachehive、apachemahout、segue框架,與其他來自revolutionanalytics的商業版r來實現大規模的機器學習。希望以上的教程,能夠讓你在大資料業務中不斷前進。

前端如何更好處理後端介面的資料

const getimooccourselist function const getimooccourselist 為此引用下阮一峰大神的es6入門中的介紹 let foo aaa bar bbb let baz undefined上面 的第乙個例子,等號左邊的兩個變數的次序,與等號右邊兩個同名屬...

如何更好處理公共關係和個人關係?

首先介紹下公關的基本定義。公關即公共關係,是社會組織同構成其生存環境 影響其生存與發展的那部分公眾的一種社會關係,是乙個組織為了達到一種特定目標,在組織內外部員工之間 組織之間建立起一種良好關係的科學。假如說我們是乙個組織或者說團體,我們需要學會公關關係處理的法則。那麼做為個體呢,我們還需要學會家庭...

在安全層面,企業如何獲得更好的投資回報率 ROI?

前言 任何企業對投資都有回報的要求,回報可能是直接的 利潤 達到短期 長期的目標,或者通過投資減少損失。因此每個專案的決策者在每筆投資前都要衡量 roi,證明該投資能達到的效果和收益,以便在專案結束時可以考核和衡量專案是否成功。同時通過 roi 的分析為下一筆預算請求,提供支援性的證據。不過資訊保安...