谷歌上周宣布发布C语言版本的MapReduce开源框架MR4C,利用该框架开发者可以在Hadoop框架中运行原生代码。
\u0026#xD;\n\u0026#xD;\n
MR4C框架将原生开发算法的性能和灵活性与Hadoop执行框架的可扩展性和生产力相结合。该项目的目标是抽象化MapReduce框架的细节,让用户将精力集中在开发定制化算法之上。
\u0026#xD;\n\u0026#xD;\n
该框架最初由Skybox团队开发,用于卫星图像处理和地理空间数据科学的用例。该团队希望既能利用用C和C++语言开发的图像处理库又能利用适于可扩展数据处理的Hadoop框架的作业跟踪和集群管理能力。
\u0026#xD;\n\u0026#xD;\n
在MR4C中,算法存储在原生共享对象中,这些对象通过本地文件或统一资源标识符(URI)访问数据。输入/输出数据集、运行时参数和外部函数库都通过Javascript对象表示法(JSON)文件进行配置。映射器分裂和资源分配可以用基于Apache YARN(适用于Hadoop v2)的工具配置或在集群层级配置(适用于MapReduce v1(MRv1))。多个算法的工作流可以通过自动生成的配置连接在一起。该框架还支持用Hadoop JobTracker接口浏览日志回调和过程报告。而且还可以用与目标Hadoop集群所用的相同接口在本地机器上对工作流进行测试。关于这个框架更多详细信息,可以从MR4C GitHub网站上检出该框架的相关文档和源码。如果有兴趣参与到项目中,MR4C团队已经创建了一个网页来帮助项目贡献者。
\u0026#xD;\n\u0026#xD;\n
查看英文原文:Google Open Sources MapReduce Framework for C to Run Native Code in Hadoop