本文目录一览:
- 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帮我办其事真别相信!