本文目錄一覽:
- 1、python和hadoop有什麼聯繫
- 2、Hadoop的Python框架指南
- 3、python寫的程序能夠在hadoop上跑嗎
- 4、只懂Python能不能完全駕馭Hadoop
- 5、如何使用Python為Hadoop編寫一個簡單的MapReduce程序
python和hadoop有什麼聯繫
一個是編程語言,一個是大數據實現,這完全是兩個不同領域的概念。我能想到的關係是這樣的:如果Hadoop提供對Python的接口的話,就可以用Python調用Hadoop實現大數據的一些功能。
hadoop 是 java 開發的,但並不是說開發 hadoop 就一定要使用 java.
Hadoop的Python框架指南
Hadoop的Python框架指南 – 技術翻譯 – 開源中國社區
最近,我加入了Cloudera,在這之前,我在計算生物學/基因組學上已經工作了差不多10年。我的分析工作主要是利用Python語言和它很棒的科學計算棧來進行的。但Apache Hadoop的生態系統大部分都是用Java來實現的,也是為Java準備的,這讓我很惱火。所以,我的頭等大事變成了尋找一些Python可以用的Hadoop框架。
在這篇文章里,我會把我個人對這些框架的一些無關科學的看法寫下來,這些框架包括:
Hadoop流
mrjob
dumbo
hadoopy
pydoop
其它
python寫的程序能夠在hadoop上跑嗎
sudo apt-get install python-dev
一般安裝系統的時候其實python已經自帶了,這步基本可以不用做,OK,我們繼續往下走吧,安裝python-opencv ,稍後我們需要用到opencv的庫,一行指令即可,這也是小編特別喜歡linux的原因:
sudo apt-get install python-opencv
完成之後我們開始操作吧,首先同樣的我們打開攝像頭露個臉唄,不多說,上代碼, vim pythonpractice.py 打開vim,copy以下代碼即可(友情提示 python是有嚴格的縮進的,下面我都是四個空格縮進,各位不要複製錯了):lo
lmport cv2
import numpy as np#添加模塊和矩陣模塊cap=cv2.VideoCapture(0)
#打開攝像頭,若打開本地視頻,同opencv一樣,只需將0換成(“×××.avi”)
while(1): # get a frame
ret, frame = cap.read() # show a frame
cv2.imshow(“capture”, frame)
if cv2.waitKey(1) 0xFF == ord(‘q’):
breakcap.release()
cv2.destroyAllWindows()#釋放並銷毀窗口123456789101112
保存退出
python pythonpractice.py
小臉蛋即可出現在你的屏幕上了,下面稍微添加幾行有意思的代碼吧,實現藍色背景檢測,我這有瓶藍色脈動,正好做個小實驗。
import cv2
import numpy as np
cap = cv2.VideoCapture(0)# set blue threshlower_blue=np.array([78,43,46])
upper_blue=np.array([110,255,255])while(1): # get a frame and show
ret, frame = cap.read()
cv2.imshow(‘Capture’, frame) # change to hsv model
hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) # get mask
mask = cv2.inRange(hsv, lower_blue, upper_blue)
cv2.imshow(‘Mask’, mask) # detect blue
res = cv2.bitwise_and(frame, frame, mask=mask)
cv2.imshow(‘Result’, res)
if cv2.waitKey(1) 0xFF == ord(‘q’):
breakcap.release()
cv2.destroyAllWindows()12345678910111213141516
同樣python pythonpractice.py 運行一下,可以把手機換成藍色背景檢測以下,下面時間就交給各位理解了,代碼很簡單,只有簡單的幾行程序。小編只是想說明以下,一定要學以致用,任何一種編程語言都是倒騰兩天就直接上手的,按部就班的學習語法,那樣不知何時才能出師了,祝各位玩得high在機器視覺上
只懂Python能不能完全駕馭Hadoop
因為hadoop是分佈式系統,計算是在所有節點上並行處理的,這意味着,無論你用何種語言,都必須在所有計算節點上安裝該語言的解釋器。例如,你想用nodejs寫mapreduce是可以的,但你必須要在每台nodemanager上安裝v8引擎才可以用。而python是安裝linux操作系統時就會自動被安裝的,因此不需要單獨安裝就可以讓節點參與計算,這樣會省很多事。
同時,python語法結構清晰,腳本可維護性高,也是一大優勢。
python也包含很多數據分析和挖掘的庫包可以直接引用,如num.py。
此外,如果不想在所有服務器安裝其他腳本語言的解釋器的話,也可以將可運行的解釋器和你的計算腳本一起放在hadoop的distributed cache中運行。
想更好的學習python請關注微信公眾號「Python基礎教程」!
如何使用Python為Hadoop編寫一個簡單的MapReduce程序
使用Python編寫MapReduce代碼技巧於我使用 HadoopStreaming 幫助我Map Reduce間傳遞數據通STDIN (標準輸入)STDOUT (標準輸).我僅僅使用Pythonsys.stdin輸入數據使用sys.stdout輸數據做HadoopStreaming幫我辦其事真別相信!
原創文章,作者:CU49L,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/128432.html