App Developer's Guide

Why Submit an App?

At MapR, we realize that customers aren't just buying Apache Hadoop-they're buying a solution to meet their business objectives. That solution includes a Hadoop distribution with enterprise-grade features like data protection, security, and performance, as well as companion applications to help move data in and out of the cluster, perform analysis and indexing, and provide insights and visualization to end users.

Customers shouldn't have to scour the internet to discover new tools and applications that solve their problems. They should be able to browse Hadoop apps by category, and have the peace of mind that each will work with their Hadoop distribution of choice. This is why we created the App Gallery. Each app in the App Gallery gives users confidence to deploy multi-vendor solutions by providing information about version compatibility, instructions on how to obtain the app, how to set it up, how to use it, and what to do if they encounter issues.

Why submit your app? Simply put, MapR is the Hadoop distribution of choice for over 500 paying customers, including many in the Fortune 100 list. In addition, we recently received the highest ranking for Current Offering in a Big Data Hadoop Solutions report by an independent research firm-see for yourself by getting the report here.

What is Required?

Getting your app listed in the App Gallery is simple. First, make sure your app works with MapR, and then fill out a short submission form. If you've already tested your application, just fill out the form and tell us which MapR distribution version(s) you tested your app on.

If you haven't developed or tested your app yet, it's no big deal: we have documentation to help. The next section of this document describes all of the various integration points and how to use them, including HDFS API, HBase API, NFS, ODBC, and HiveQL. If your application already talks to these interfaces, testing it out couldn't be simpler, the next section also covers how to set up a development environment.

If you have multiple applications that work with MapR, we encourage you to fill out this form for each of them. This helps get your company additional exposure, and helps customers better understand your product offerings and how they work with MapR.

Developing an App

MapR Interfaces

With the MapR Distribution for Apache Hadoop, you will find all of the APIs and integration methods you should expect from the world's most enterprise-ready system. The APIs allow you to communicate directly with the underlying ecosystem, ensuring top performance, reliability, security, and integration.

If Hadoop and MapR are new to you, our Start Here page is a great place to start:
http://doc.mapr.com/display/MapR/Start+Here

For those who are ready to dive in to development and need detailed documentation, follow this link to our Developer Guide.
http://doc.mapr.com/display/MapR/Development+Guide

In the Development guide you will find details on the following APIs and more:

  • HDFS: For any application that needs to read or write files from the distributed file system. Existing Hadoop applications work seamlessly by talking to this API.
  • YARN: Allows multiple applications to share the processing resources of the nodes in a cluster. By supporting YARN, MapR seamlessly supports these applications.
  • MapReduce: For applications that can take advantage of the MapReduce distributed processing framework.
  • HiveQL: For database and data warehouse applications that interact with Hadoop via the HiveQL language, MapR supports Apache Hive with HiveServer2.
  • Apache Drill: Many applications require strict ANSI SQL support. For this reason, MapR is spearheading Apache Drill.
  • MapR-FS: Some applications can benefit from writing to a lower level API than HDFS, interacting directly with the MapR file system API.
  • NFS: Many applications that need to read and write data to the distributed file system don't support the HDFS API. To ensure easy integration with the MapR distribution, we also support NFSv3.
  • REST API: MapR supports a RESTful API, allowing applications to automate administrative workflows, as well as monitor and perform configurations.
Setting Up a Development Cluster

The best way to learn about Apache Hadoop and make sure your App works with MapR is to set up your own development environment and dive in. MapR makes it easy to get started. There are three options to get you up and running fast, and each option provides a fully functional platform.

The first option is to download the MapR Sandbox VM to your own system. The MapR sandbox is ideal for development environments that don't' require a large amount of storage, don't require any redundancy or high availability, and don't need to be tested for performance. Follow this link to download the VM, which contains a single-node Hadoop cluster.

A second option is to set up a MapR cluster in the cloud. Cloud clusters will give you a more scalable, performant, and reliable experience, while still being simple to set up. To deploy a MapR cluster in Amazon using Amazon Elastic MapReduce, follow this link. To set up a MapR cluster on the Google Compute Engine, follow this link.

Last, if you need the highest performance MapR has to offer, we make it easy to install on a cluster of physical servers using our multi-node installer.

Submission Process

Complete the Submission Form

You can find the submission form here: http://www.mapr.com/appgallery/submit-app

The submission form will include a few simple questions about your application, such as what it does, what versions work with MapR, where to get it, and how to install it.

After you submit your app, it will enter the approval queue at MapR, where a member of our team will review your submission.

Wait for Approval

Once a member of the MapR team approves your app, you will receive an email letting you know it was accepted. It will also appear in the App Gallery.

Approval Guidelines and Process

Since we're not hosting any of your executables on our site, we won't put you through any source code reviews. What we do want to be sure of, however, is that your app adds value to a Hadoop environment, and that it actually runs on MapR. We'll determine both of these requirements from your submission; if you provide complete answers to all of the questions, we should approve it quickly.

Submissions that don't include any compatibility information, or lack instructions on how to configure your application to work with MapR will be rejected.

The full list of approval criteria are as follows:

  • The app must interact with a MapR/Hadoop interface in some way.
  • All questions in the submission form must be answered appropriately. Guidelines for each question are included in the submission form.
  • The submission should not contain profanity, or any kind of racist, sexist, or otherwise offensive material.

Updating your App

Please contact us if you need any changes made to your app after it has been published.