Skip to content
Let’s Big Data. Hue is an open source Web interface for analyzing data with Hadoop and Spark.
Python HTML JavaScript Mako C Java Other
Find file
Failed to load latest commit information.
apps [beeswax] Enable a whitelist of Hive configuration properties that us…
desktop [editor] Use key value input for settings
dist [doc] Friendler tarball install README
docs [tools] Update Docker instuction to for getting the correct IP
ext/thirdparty HUE-2523 [core] Convert tests to the new generator
maven [core] Bump version to 3.9
tools [core] Add a scrollYFixedTop setting for Flex-based scrollbars
.gitattributes hue (formerly Cloudera Desktop) from internal commit 4694ac0434dad851…
.gitignore [core] Reorganized .gitignore files and added a global java-lib exclu…
LICENSE.txt hue (formerly Cloudera Desktop) from internal commit 4694ac0434dad851…
Makefile [core] Added 'make theme' target to the Makefile
Makefile.sdk HUE-758 [core] Internationalization
Makefile.tarball HUE-2943 [core] Manually exclude boto from the pruning to fix packaging
Makefile.vars [notebook] Automatically start the DBProxy server if we have some JDB…
Makefile.vars.priv hue (formerly Cloudera Desktop) from internal commit 4694ac0434dad851…
NOTICE.txt [core] Add third-party dependency references
README.md My AWS Ubuntu 14 was missing libz-dev
VERSION [core] Bump version to 3.9
data Make app registry location configurable

README.md

alt text

Welcome to the repository for Hue

Hue is an open source Web interface for analyzing data with any Apache Hadoop: gethue.com

alt text

It features:

  • SQL Editors for Hive, Impala, MySql, PostGres, Sqlite and Oracle
  • Dynamic search dashboards for Solr
  • Spark Notebooks
  • Browsers for YARN, HDFS, Hive table Metastore, HBase, ZooKeeper
  • Pig Editor, Sqoop2, Oozie workflows Editors and Dashboards
  • Wizards to import data into Hadoop

On top of that, an SDK is available for creating new apps integrated with Hadoop.

More user and developer documentation is available at gethue.com.

Getting Started

To build and get the development server running:

$ git clone https://github.com/cloudera/hue.git
$ cd hue
$ make apps
$ build/env/bin/hue runserver

Now Hue should be running on http://localhost:8000 !

The configuration in development mode is desktop/conf/pseudo-distributed.ini.

Note: to start the production server (but lose the automatic reloading after source modification):

$ build/env/bin/supervisor

To run the tests:

Install the mini cluster (only once):

$ ./tools/jenkins/jenkins.sh slow

Run all the tests:

$ build/env/bin/hue test all

Or just some parts of the tests, e.g.:

$ build/env/bin/hue test specific impala
$ build/env/bin/hue test specific impala.tests:TestMockedImpala
$ build/env/bin/hue test specific impala.tests:TestMockedImpala.test_basic_flow

Development Prerequisites

You'll need these library development packages and tools installed on your system:

Ubuntu:

  • Oracle's JDK (read more here)
  • ant
  • gcc
  • g++
  • libkrb5-dev
  • libmysqlclient-dev
  • libssl-dev
  • libsasl2-dev
  • libsasl2-modules-gssapi-mit
  • libsqlite3-dev
  • libtidy-0.99-0 (for unit tests only)
  • libxml2-dev
  • libxslt-dev
  • make
  • mvn (from maven package or maven3 tarball)
  • openldap-dev / libldap2-dev
  • python-dev
  • python-setuptools
  • libgmp3-dev
  • libz-dev

CentOS/RHEL:

  • Oracle's JDK (read more here)
  • ant
  • asciidoc
  • cyrus-sasl-devel
  • cyrus-sasl-gssapi
  • gcc
  • gcc-c++
  • krb5-devel
  • libtidy (for unit tests only)
  • libxml2-devel
  • libxslt-devel
  • make
  • mvn (from apache-maven package or maven3 tarball)
  • mysql
  • mysql-devel
  • openldap-devel
  • python-devel
  • sqlite-devel
  • openssl-devel (for version 7+)
  • gmp-devel

MacOS:

  • Xcode command line tools
  • Oracle's JDK 1.7+
  • maven (Homebrew)
  • mysql (Homebrew)
  • gmp (Homebrew)
  • openssl (Homebrew)
  • Required for Mac OS X 10.11+ (El Capitan), after brew install openssl, run: export LDFLAGS=-L/usr/local/opt/openssl/lib && export CPPFLAGS=-I/usr/local/opt/openssl/include

File Layout

The Hue "framework" is in desktop/core/ and contains the Web components. desktop/libs/ is the API for talking to various Hadoop services. The installable apps live in apps/. Please place third-party dependencies in the app's ext-py/ directory.

The typical directory structure for inside an application includes:

  src/
    for Python/Django code
      models.py
      urls.py
      views.py
      forms.py
      settings.py

  conf/
    for configuration (``.ini``) files to be installed

  static/
    for static HTML/js resources and help doc

  templates/
    for data to be put through a template engine

  locales/
    for localizations in multiple languages

For the URLs within your application, you should make your own urls.py which will be automatically rooted at /yourappname/ in the global namespace. See apps/about/src/about/urls.py for an example.

Main Stack

Hue would not be possible without:

Community

License

Apache License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0

Something went wrong with that request. Please try again.