首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Bash的Hadoop流--有多慢?

使用Bash的Hadoop流--有多慢?
EN

Stack Overflow用户
提问于 2015-01-23 10:12:22
回答 1查看 469关注 0票数 0

我从几篇文章中听说,使用bash的Hadoop streaming比编译的代码或python慢得多。这只适用于排序命令和类似命令吗?我的脚本需要

-copy文件到节点-on节点以文件作为参数执行商业程序-pass输出返回到文件夹

我的直觉告诉我,这应该是一个类似于编译版本的速度。会是这样吗?

EN

回答 1

Stack Overflow用户

发布于 2015-01-23 22:50:07

Hadoop流被认为很慢的主要原因是,对于mapper和reducer,您都必须通过stdin传递参数,这意味着您必须将它们序列化为文本,并且为了获得mapper和reducer的输出,您必须将它们从文本反序列化为Java结构,这通常会消耗大量时间。

如果您有一个第三方编译的应用程序,能够从stdin读取输入数据并将数据传递给stdout,那么您没有太多的选择,只能在Hadoop Streaming或Spark管道中运行它。但是,原生mapreduce应用程序当然会更快,因为它在将数据传递给应用程序时消除了数据序列化/反序列化的需要

但是,如果您的应用程序只是接受文件名并自行读取文件(例如,从NFS读取),那么它的速度将与原生应用程序相同,但是您当然应该考虑到,这种类型的使用既不适用于Hadoop,也不适用于Spark --开发这些框架是为了使用它们提供的API来处理数据

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28101995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档