2018-10-19
閱讀量:
1484
python寫的腳本語(yǔ)言可以直接在hadoop上運(yùn)行嗎
python寫的腳本語(yǔ)言可以直接在hadoop上運(yùn)行嗎?我的意思是Python 寫的腳本語(yǔ)言不經(jīng)任何處理是否可以在Hadoop 上運(yùn)行,還是說(shuō),需要將腳本進(jìn)行mapreduce轉(zhuǎn)化后才能運(yùn)行,如果是轉(zhuǎn)化,怎么轉(zhuǎn)化,很難嗎?
首先 由于python是應(yīng)用于單機(jī)環(huán)境的,因此python腳本如果沒(méi)有按照Hadoop的模式來(lái)編寫、部署是不能直接在hadoop上運(yùn)行的。
MapReduce是hadoop處理數(shù)據(jù)的引擎(框架),在hadoop上運(yùn)行的程序都是基于這種框架來(lái)編寫的。因此Python腳本必須做這樣的轉(zhuǎn)換才可以。可以參考一下 pydoop、mrjob 、hadoop streaming、這些框架來(lái)對(duì)自己代碼做轉(zhuǎn)換然后才可以在Hadoop集群上運(yùn)行。因?yàn)槭羌耗J竭\(yùn)行,因此集群中的每個(gè)節(jié)點(diǎn)都要安裝相同的python環(huán)境(python解釋器+相關(guān)的包)。其實(shí)可以選擇用spark的pyspark ,它提供了更全面的更高級(jí)的python接口,開(kāi)發(fā)起來(lái)效率更高一些。






評(píng)論(0)


暫無(wú)數(shù)據(jù)
CDA考試動(dòng)態(tài)
CDA報(bào)考指南
推薦帖子
0條評(píng)論
1條評(píng)論
0條評(píng)論
0條評(píng)論