Hadoop Map/Reduce程序使用哪种语言?Java还是PHP?

Sha*_*s88 4 hadoop

我最近在java中编写了几个map/reduce程序.但我也知道像php这样的脚本语言也可以使用.但是,大多数人都推荐使用java或python.我目前在php工作.所以我想知道哪种语言更适合地图/减少程序开发?

php for map/reduce实现的一个主要缺点是,它不是多线程的.另外,hadoop有广泛的类,接口和方法框架,特别是在java中,PHP程序无法利用.而且,php并不是为处理繁重的数据处理任务而设计的.

那么有人可以从广义上告诉我哪一个选择作为地图/减少实施的首选武器?

小智 7

shanthanu,你的第一个问题是

问)哪种脚本语言对hadoop有用?

A)大多数脚本语言,如php,python,perl,ruby bash都很好.任何能够从stdin读取,写入sdtout和解析选项卡以及新行字符的语言都可以工作:Hadoop Streaming只是将键值对的字符串表示与一个制表符连接到一个必须在每个任务跟踪器节点上可执行的任意程序.

在用于设置hadoop集群的大多数Linux发行版中,已经安装了python,bash,ruby,perl ......但是没有什么能阻止你自己的执行环境为你喜欢的脚本或编译的编程语言卷起来.

Q)PHP不是多线程的?

A)是的,但是,我们可以通过多种方式使PHP多线程化.例如使用:pnctl_fork()(但是,这在Windows中不起作用)

在使用hadoop编写脚本语言之前,你应该始终牢记的问题不是"哪种脚本语言?" 因为一切都好.

但是,java和脚本语言之间的区别在于,"当我们使用脚本语言时,子节点的Heart Beat将不会被发送到父节点".

  • 当你说"当我们使用脚本语言时,不会将子节点的心跳发送到父节点"时,你能澄清一下你的意思吗?你能为此提供参考吗? (3认同)