栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Hadoop中的流或自定义Jar

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Hadoop中的流或自定义Jar

为什么考虑部署自定义jar?

  • 能够使用更强大的自定义输入格式。对于流作业,即使您使用此处提到的可插拔输入/输出,也将映射器/缩减器的键和值限制为文本/字符串。您将需要花费一些CPU周期才能转换为所需的类型。
  • Ive还听说过Hadoop在跨多个Jobs重用JVM方面很聪明,这在流式传输时是不可能的(无法确认)

什么时候使用猪?

  • Pig Latin很酷,并且是比java / python或perl更高级的数据流语言。您的Pig脚本往往比编写任何其他语言的等效任务小得多

什么时候不使用猪?

  • 尽管Pig非常擅长于自己弄清楚有多少地图/缩小以及何时生成或缩小地图以及无数这样的事情,但是如果您不确定要多少张地图/缩小,则可以进行一些非常具体的计算您需要在Map / reduce函数中进行操作,并且对性能非常特定,那么您应该考虑部署自己的jar。此链接表明,猪的性能可能落后于原生的hadoop M / R。您也可以看一下编写自己的Pig UDF,它隔离了一些计算密集型功能(甚至可能使用JNI在UDF中调用某些本机C / C ++代码)

关于IO和CPU绑定作业的说明:

  • 从技术上讲,hadoop和map reduce的重点是并行化计算密集型功能,因此我假设您的map和reduce作业是计算密集型的。当数据通过网络发送时,Hadoop子系统唯一的忙于IO的时间是在映射和缩减阶段之间。另外,如果您有大量数据,并且手动配置的映射太少,并减少了溢出到磁盘的数量(尽管太多的任务将导致花费太多时间启动/停止JVM和太多的小文件)。流作业会带来启动Python / Perl VM的额外开销,并使数据在JVM和脚本VM之间来回复制。


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/428467.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号