The HUE (aka. Hadoop User Experience) project [download|installation|manual] started as Cloudera Desktop about a year ago. The old name “Desktop” really refers to a desktop look-and-feel, since HUE is a web UI for Hadoop. Beyond delivering a suite of web applications, it is also a platform for building custom applications with a nice UI library. Gradually, we realized how much value such a UI platform would bring to the community, and I am very excited that Cloudera contributed HUE as an open source project.
HUE: a Web UI for Hadoop
A still image does not do HUE justice. The following screencast, as an example, shows the rich user interaction in the Hive UI application, called Beeswax, and how HUE simplifies Hadoop for the average user.
[vimeo clip_id=”13463965″ width=”400″ height=”300″]
Currently, HUE comes with a suite of applications. To highlight some of them:
- User Admin: Account management for HUE users.
- File Browser: Browse HDFS; change permissions and ownership; upload, download, view and edit files.
- Job Designer: Create MapReduce jobs, which can be templates that prompt for parameters when they are submitted.
- Job Browser: View jobs, tasks, counters, logs, etc.
- Beeswax: Wizards to help create Hive tables, load data, run and manage Hive queries, and download results in Excel format.
- Help: Documentation and help.
Administrators like HUE especially for its ease of deployment. The one and only step is to set up HUE on a server machine with Hadoop installed. There is no client-side software — other than the web browser. And upon upgrade, there is no client compatibility problems to worry about.
Unforeseen at first, we have come across cases in which administrators prefer HUE as a security tool. They set up HUE as the only gateway for normal users to access Hadoop. By leveraging its user management capability, HUE can enforce permission much more than the cooperative trust model in Hadoop command line. HUE submits MapReduce jobs as the logged-in user, and talks to HDFS as the logged-in user. It can also integrate with existing authentication systems. In addition, some IT administrators find comfort in letting corporate users access Hadoop by opening only a web port to the cluster.
HUE: a Web Application Platform
An important goal of HUE is to make it easy to add new applications so that they can take advantage of the functionality already provided by the existing applications.
For example, if I want to write a Pig UI (not in HUE today), I would likely need to support multiple users (provided by HUE with the User Admin app), link Pig executions to MapReduce jobs (provided by the Job Browser app), let users select their UDF jars (provided by the File Chooser app), and download results in CSV or Excel format (also provided). The cross linkage of the different applications makes it powerful, and reusing existing components saves developers time.
The engineers at Cloudera have spent tremendous effort in cleanly separating the core HUE framework (aka. the SDK) from the applications. And as the HUE team here develops new applications for Cloudera Enterprise, we ourselves use the SDK. These applications include a Flume UI to manage and monitor data flows, an advanced user management application with hierarchical group support and fine-grained permission control, and tools for cluster resource accounting.
If you would like to get started with HUE, download it, and read through the installation guide and user manual. Drop us a note on the HUE user list. We would love to hear your feedback. If you are considering writing an application on HUE, or contribute to HUE itself, please also join our developer list.