TechForge

19th February 2015

Share this story:

Tags:

Categories::

Google has announced that it will be making a MapReduce framework open-source to allow users to run native C and C++ code in their Hadoop environments. Hadoop can suffer from performance issues due to being written in Java so this framework will come as welcome news.

‘MR4C’ (MapReduce for C) was developed at Skybox Imaging for large-scale satellite image processing and geospatial data science use. Google found Hadoop a powerful solution for scalable data handling thanks to its job tracking and cluster management capabilities but wanted to be able to leverage the robust image-processing libraries written in C and C++.

Companies have built their own proprietary systems to achieve this, but MR4C offers a comprehensive solution to save time in working with large datasets. The framework is built around a few simple concepts which Google explains in its blog post:

Algorithms are stored in native shared objects that access data from the local filesystem or any uniform resource identifier (URI), while input/output datasets, runtime parameters, and any external libraries are configured using JavaScript Object Notation (JSON) files. Splitting mappers and allocating resources can be configured with Hadoop YARN based tools or at the cluster level for MRv1.

Workflows of multiple algorithms can be strung together using an automatically generated configuration. There are callbacks in place for logging and progress reporting which you can view using the Hadoop JobTracker interface. Your workflow can be built and tested on a local machine using exactly the same interface employed on the target cluster.

MR4C isn’t the first time Google has opted to use native C++ code for Hadoop. The Quantcast File System (in-house alternative for Hadoop’s Distributed File System) they use is also written in C++ due to its performance benefits. Facebook uses a similar ideology with their ‘HipHop’ system which converts SQL to C++ before executing it.

Apache Spark, a data-processing framework faster than MapReduce, is seeing a lot of interest but does not support C/C++ natively. It does however support Scale, Python, and Java, so it will be interesting to see which framework gains the most traction.

You can get started with MR4C via Google’s documentation and source code at the MR4C GitHub page.

Do you think MR4C or Apache Spark will gain the most traction for data-processing? Let us know in the comments.

About the Author

Senior Editor

Ryan Daws is a senior editor at TechForge Media with over a decade of experience in weaving narratives and dissecting complex topics. His articles and interviews with industry leaders have earned him recognition as a key tech influencer from numerous organisations. Under his leadership, publications have been praised by analyst firms for their excellence and performance. Connect with him on X, Mastodon, Bluesky, Threads, and/or LinkedIn.

Related

15th September 2026

11th September 2026

11th September 2026

9th September 2026

Join our Community

Subscribe now to get all our premium content and latest tech news delivered straight to your inbox

Popular

20160 view(s)
11634 view(s)
10293 view(s)
6824 view(s)

Subscribe

All our premium content and latest tech news delivered straight to your inbox

This field is for validation purposes and should be left unchanged.