README.md 4.9 KB

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, Oracle, PostgreSQL, SparkSQL, Solr SQL, Phoenix...
  • Dynamic Search dashboards with Solr
  • Spark and Hadoop notebooks
  • Scheduling of jobs and workflows through an Oozie Editor and Dashboard

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

Docker

Start Hue in a single click with the Docker Guide or the video blog post.

Development Prerequisites

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

Ubuntu:

  • sudo apt-get install git ant gcc g++ libffi-dev libkrb5-dev libmysqlclient-dev libsasl2-dev libsasl2-modules-gssapi-mit libsqlite3-dev libssl-dev libxml2-dev libxslt-dev make maven libldap2-dev python-dev python-setuptools libgmp3-dev

  • Oracle's JDK (read more here)#``` sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java7-installer

    
    * mvn (from ``maven`` package or maven3 tarball)
    * openldap-dev / libldap2-dev
    * libtidy-0.99-0 (for unit tests only)
    
    
    __CentOS/RHEL:__
    
    * Oracle's JDK [(read more here)](https://www.digitalocean.com/community/tutorials/how-to-install-java-on-centos-and-fedora)
    * ant
    * asciidoc
    * cyrus-sasl-devel
    * cyrus-sasl-gssapi
    * cyrus-sasl-plain
    * gcc
    * gcc-c++
    * krb5-devel
    * libffi-devel
    * libtidy (for unit tests only)
    * libxml2-devel
    * libxslt-devel
    * make
    * mvn (from [``apache-maven``](https://gist.github.com/sebsto/19b99f1fa1f32cae5d00) 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``
    
    __All, just in case you want to run the Jasmine tests:__
    
    * NodeJS (https://nodejs.org/)
    * PhantomJS (npm install -g phantomjs-prebuilt)
    
    
    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