Hadoop Streaming与Haskell集成的深入解析
1. Hadoop Streaming概述
Hadoop Streaming是Hadoop提供的一组额外工具,用于开发非Java语言的应用程序。其工作流程如下:
- 实用程序创建一个MapReduce作业,并将其提交到合适的集群。
- 该实用程序会观察作业的执行过程,直到作业完成。
- 存在一个流式JAR(Java Archive),它作为非Java代码与MapReduce作业之间的桥梁,将脚本转换为MapReduce作业。
1.1 Mapper工作流程
- 每个Mapper接收一个脚本,初始化后以不同进程启动脚本。
- 运行时,输入被转换为行并发送到进程的标准输入(STDIN)。
- 从标准输出(STDOUT)收集面向行的输出,将其转换为特定的键值对作为Mapper的输出。默认情况下,第一个字符到第一个制表符之间的字符为键,其余字符为值(不包括制表符);若没有制表符,则整行为键,值为null,此设置可自定义。
1.2 Reducer工作流程
- 每个Reducer接收一个脚本,启动脚本作为不同进程,然后进行初始化。
- 键值对被转换为行并发送到进程的STDIN,同时从STDOUT收集面向行的输出,转换为键值对作为Reducer的输出。默认设置与Mapper类似,也可自定义。
在Mapper过程中,作业通过管道从外部启动和通信,使用 clientIn 和 clientOu
超级会员免费看
订阅专栏 解锁全文
641

被折叠的 条评论
为什么被折叠?



