導航:首頁 > 凈水問答 > hadoop過濾數據

hadoop過濾數據

發布時間:2022-01-20 05:27:04

A. 如何清洗存儲在hadoop(HDFS)中的原始數據

都可以,看你自己用哪個順手
目前主流的會使用spark

B. 如何清理hadoop過期歷史數據

hadoop 添加刪除datanode及tasktracker

首先:

建議datanode和tasktracker分開寫獨立的exclude文件,因為一個節點即可以同時是datanode和tasktracker,也可以單獨是datanode或tasktracker。

1、刪除datanode

修改namenode上的hdfs-site.xml

dfs.hosts

/usr/local/hadoop/conf/datanode-allow-list

dfs.hosts.exclude

/usr/local/hadoop/conf/datanode-deny-list

其中dfs.host列出了連入namenode的節點,如果為空,則所有的datanode都可以連入namenode。如果不為空,則文件中存在的datanode可以連入。

dfs.hosts.exclude列出了禁止連入namenode的節點。

如果一個節點同時存在於dfs.hosts和dfs.hosts.exclude,則禁止連入。

具體步驟

(1)將要刪除的datanode加入到dfs.hosts.exclude指定的文件中。(最好使用主機名,IP有時可能不生效)

(2)動態刷新配置,不需要重啟namenode

hadoop dfsadmin -refreshNodes

(3)通過hadoop dfsadmin -report或webui,可以看到,該datanode的狀態為Decommissioning

(4)等待一段時間,該節點為dead狀態。

(5)刪除dfs.hosts文件中該節點 即下架目標機器後,再次編輯dfs.hosts.exclude,把剛才下架的機器的ip或機器名移走

(6)

hadoop dfsadmin -refreshNodes

註:按照上面的操作後,如果你想要重新啟用該節點為datanode,從dfs.hosts.exclude中刪除該節點,refreshNodes,然後,到該節點上,重啟啟動該datanode:

/usr/local/hadoop/bin/hadoop-daemon.sh stop datanode

/usr/local/hadoop/bin/hadoop-daemon.sh start datanode

注:正確的刪除datanode的方法應該是按照上面的方法,使用exclude文件,而不應該直接去datanode上去sotp
datanode,這樣會造出數據丟失,而且stop以後,webui和hadoop dfsadmin
-report都仍然顯示該datanode節點。除非重新啟動namenode。

之所以重新啟用exclude的節點時可以stop
datanode,因為此時該datanode不包含在cluster中,所以,stop後不會造成數據丟失。

2、添加datanode

如果存在dfs.hosts文件,且不為空,則添加新的datanode到該文件中,refreshNodes。

到新節點上,啟動即可

/usr/local/hadoop/bin/hadoop-daemon.sh start datanode

如果不存在dfs.hosts文件,或文件為空,直接啟動新節點即可。

3、刪除tasktracker

原理和步驟與刪除datanode一樣。

mapred.hosts

/usr/local/hadoop/conf/tasktracker-allow-list

mapred.hosts.exclude

/usr/local/hadoop/conf/tasktracker-deny-list

動態刷新配置的命令為:

hadoop mradmin -refreshNodes

立刻生效,可以在webui中看到,nodes節點數量的變化,以及Excluded Nodes節點的變化。

具體的步驟參考上面的刪除datanode的步驟

註:按照上面的操作後,如果你想要重新啟用該節點為tasktracker,從mapred.hosts.exclude中刪除該節點,refreshNodes,然後,到該節點上,重啟啟動該tasktracker:

/usr/local/hadoop/bin/hadoop-daemon.sh stop tasktracker

/usr/local/hadoop/bin/hadoop-daemon.sh start tasktracker

注:正確的刪除tasktracker的方法應該是按照上面的方法,使用exclude文件,而不應該直接去tasktracker上去sotp
tasktracker,這樣會造成job失敗,而且stop以後,webui上仍然顯示該tasktracker節點。除非重新啟動jobtracker。

我遇到的一個問題:

在exclude文件中,我使用了IP,發現tasktracker仍然參與計算。

在webui中發現,Excluded Nodes中存在該IP,Nodes中仍然存在該tasktracker的hostname。

解決的辦法就是,在exclude中使用hostname而不使用IP。

判斷是否真正生效:如果exclued文件中正確的填寫了要失效的node,則總得nodes數量應該減小。

4、添加tasktracker

如果存在mapred.hosts文件,且不為空,則添加新的tasktracker到該文件中,refreshNodes。

到新節點上,啟動即可

/usr/local/hadoop/bin/hadoop-daemon.sh start tasktracker

如果不存在mapred.hosts文件,或文件為空,直接啟動新節點即可。

6、添加或刪除datanode後,平衡磁碟利用率

運行bin/start-balancer.sh,這個會很耗時間

備註:

如果不balance,那麼cluster會把新的數據都存放在新的node上,這樣會降低mr的工作效率;

/usr/local/hadoop/bin/start-balancer.sh -threshold 0.1

7下架目標機器後,再次編輯mapred.hosts.exclude,把剛才下架的機器的ip或機器名移走

threshold 是平衡閾值,默認是10%,值越低各節點越平衡,但消耗時間也更長。

balancer也可以在有mr job的cluster上運行,默認dfs.balance.bandwidthPerSec很低,為1M/s。在沒有mr
job時,可以提高該設置加快負載均衡時間。

在namenode的hdfs-site.xml中增加設置balance的帶寬,默認只有1M:

dfs.balance.bandwidthPerSec

10485760Specifies themaximum bandwidth that each datanode can utilize for
the balancing purpose interm of the number of bytes per second.

C. 如何讓Hadoop結合R語言做大數據分析

R語言和Hadoop讓我們體會到了,兩種技術在各自領域的強大。很多開發人員在計算機的角度,都會提出下面2個問題。問題1: Hadoop的家族如此之強大,為什麼還要結合R語言?
問題2: Mahout同樣可以做數據挖掘和機器學習,和R語言的區別是什麼?下面我嘗試著做一個解答:問題1: Hadoop的家族如此之強大,為什麼還要結合R語言?

a. Hadoop家族的強大之處,在於對大數據的處理,讓原來的不可能(TB,PB數據量計算),成為了可能。
b. R語言的強大之處,在於統計分析,在沒有Hadoop之前,我們對於大數據的處理,要取樣本,假設檢驗,做回歸,長久以來R語言都是統計學家專屬的工具。
c. 從a和b兩點,我們可以看出,hadoop重點是全量數據分析,而R語言重點是樣本數據分析。 兩種技術放在一起,剛好是最長補短!
d. 模擬場景:對1PB的新聞網站訪問日誌做分析,預測未來流量變化
d1:用R語言,通過分析少量數據,對業務目標建回歸建模,並定義指標d2:用Hadoop從海量日誌數據中,提取指標數據d3:用R語言模型,對指標數據進行測試和調優d4:用Hadoop分步式演算法,重寫R語言的模型,部署上線這個場景中,R和Hadoop分別都起著非常重要的作用。以計算機開發人員的思路,所有有事情都用Hadoop去做,沒有數據建模和證明,」預測的結果」一定是有問題的。以統計人員的思路,所有的事情都用R去做,以抽樣方式,得到的「預測的結果」也一定是有問題的。所以讓二者結合,是產界業的必然的導向,也是產界業和學術界的交集,同時也為交叉學科的人才提供了無限廣闊的想像空間。問題2: Mahout同樣可以做數據挖掘和機器學習,和R語言的區別是什麼?

a. Mahout是基於Hadoop的數據挖掘和機器學習的演算法框架,Mahout的重點同樣是解決大數據的計算的問題。
b. Mahout目前已支持的演算法包括,協同過濾,推薦演算法,聚類演算法,分類演算法,LDA, 樸素bayes,隨機森林。上面的演算法中,大部分都是距離的演算法,可以通過矩陣分解後,充分利用MapRece的並行計算框架,高效地完成計算任務。
c. Mahout的空白點,還有很多的數據挖掘演算法,很難實現MapRece並行化。Mahout的現有模型,都是通用模型,直接用到的項目中,計算結果只會比隨機結果好一點點。Mahout二次開發,要求有深厚的JAVA和Hadoop的技術基礎,最好兼有 「線性代數」,「概率統計」,「演算法導論」 等的基礎知識。所以想玩轉Mahout真的不是一件容易的事情。
d. R語言同樣提供了Mahout支持的約大多數演算法(除專有演算法),並且還支持大量的Mahout不支持的演算法,演算法的增長速度比mahout快N倍。並且開發簡單,參數配置靈活,對小型數據集運算速度非常快。
雖然,Mahout同樣可以做數據挖掘和機器學習,但是和R語言的擅長領域並不重合。集百家之長,在適合的領域選擇合適的技術,才能真正地「保質保量」做軟體。

如何讓Hadoop結合R語言?

從上一節我們看到,Hadoop和R語言是可以互補的,但所介紹的場景都是Hadoop和R語言的分別處理各自的數據。一旦市場有需求,自然會有商家填補這個空白。

1). RHadoop

RHadoop是一款Hadoop和R語言的結合的產品,由RevolutionAnalytics公司開發,並將代碼開源到github社區上面。RHadoop包含三個R包 (rmr,rhdfs,rhbase),分別是對應Hadoop系統架構中的,MapRece, HDFS, HBase 三個部分。

2). RHiveRHive是一款通過R語言直接訪問Hive的工具包,是由NexR一個韓國公司研發的。

3). 重寫Mahout用R語言重寫Mahout的實現也是一種結合的思路,我也做過相關的嘗試。

4).Hadoop調用R

上面說的都是R如何調用Hadoop,當然我們也可以反相操作,打通JAVA和R的連接通道,讓Hadoop調用R的函數。但是,這部分還沒有商家做出成形的產品。

5. R和Hadoop在實際中的案例

R和Hadoop的結合,技術門檻還是有點高的。對於一個人來說,不僅要掌握Linux, Java, Hadoop, R的技術,還要具備 軟體開發,演算法,概率統計,線性代數,數據可視化,行業背景 的一些基本素質。在公司部署這套環境,同樣需要多個部門,多種人才的的配合。Hadoop運維,Hadoop演算法研發,R語言建模,R語言MapRece化,軟體開發,測試等等。所以,這樣的案例並不太多。

D. hadoop處理的數據從哪裡來

淘寶api或者其他,都有每天調用次數限制,你看《hadoop實戰》,裡面有提到數據來源,書你就別看了,都是hadoop 0.20版本的,基本上現在代碼都不那麼寫了,你可以上網找電子版,然後前幾章,就有數據地址

E. hadoop節點中的數據多久清理一次

dn目錄存儲的都是數據文件,你要說清理,那就是這些數據已經沒用了,我看到你用的是CDH安裝,如果不想要數據了,完全可以重建集群。如果你要保留數據文件,那可能就要考慮調整副本數了,默認是3,以下的命令會把hadoop文件副本改為1,可以節省三分之二的空間,要注意:只有一個副本的數據是有風險的,損壞就OVER了hadoopfs-setrep-R1/

F. hadoop中大數量取前100條數據怎麼取

你是說hadoop還是hive?hadoop的話用java編程,里邊取前100行,hive的話在語句後邊加上 limit 100,跟mysql差不多。

G. hadoop dn目錄的數據如何清理

dn目錄存儲的都是數據文件,你要說清理,那就是這些數據已經沒用了,
我看到你用的是CDH安裝,如果不想要數據了,完全可以重建集群。

如果你要保留數據文件,那可能就要考慮調整副本數了,默認是3,以下的命令會把hadoop文件副本改為1,可以節省三分之二的空間,要注意:只有一個副本的數據是有風險的,損壞就OVER了
hadoop fs -setrep -R 1 /

H. 怎麼使用hadoop 處理數據

這個返回的entity的成員值還是初始化狀態,伺服器的代碼好像沒有修改,web services explorer里的soap信息如下
- <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <soap:Body>
- <getEnResponse xmlns="http://test">
<out />
</getEnResponse>
</soap:Body>
</soap:Envelope>

I. hadoop分布式系統裡面的數據是怎麼查詢的

不對,應該說A、B、C是成為了一體,並不是共享。文件可能存在A點,備份在B點;或者存在B點,備份在C點和A點各一份。具體存在哪裡,怎麼存,備份在哪裡都是hadoop自有的機制控制的,所以serverroot目錄下如果看到500G的資源,三台機器加起來估計得有(500*3)G的資源,算上備份。

J. 如何刪除伺服器上hadoop的數據

用命令行bin/Hadoop fs -rm(r) 可以刪除hdfs上的文件(夾)
用HDFS的API也是可以的。如下:
import java.net.URI;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
public class FileDelete
{
public static void main(String[] args) throws Exception
{
if(args.length != 1){
System.out.println("Usage filedelete <target>");
System.exit(1);
}
Configuration conf = new Configuration();
FileSystem hdfs = FileSystem.get(URI.create(args[0]),conf);
hdfs.delete(new Path(args[0]),false);
}
}

閱讀全文

與hadoop過濾數據相關的資料

熱點內容
油煙凈化器和風機有什麼區別 瀏覽:101
奧克斯凈水器如何拆管 瀏覽:760
tmtd產品廢水處理 瀏覽:661
污水氯離子揮發 瀏覽:818
反滲透膜即熱飲水機 瀏覽:818
杭州回油濾芯多少錢 瀏覽:529
只用ro膜做凈水器 瀏覽:620
空氣濾芯出水少怎麼辦 瀏覽:549
提升泵分哪幾種 瀏覽:391
樹脂盆批發 瀏覽:340
BW30400反滲透膜進水要求 瀏覽:28
大嶺山污水處理多少錢 瀏覽:699
純水機的水發綠是怎麼回事 瀏覽:819
什麼是反滲透空氣潔凈度 瀏覽:117
水務集團污水處理公司 瀏覽:319
可清洗濾芯為什麼可以清洗掉臟東西 瀏覽:561
撫順勝利開發區污水處理廠 瀏覽:661
天際線污水要不要和飲用水一起 瀏覽:227
樹脂補牙喝水吃飯 瀏覽:672
污水出水管水頭損失參數表 瀏覽:636