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