Skip to content

Latest commit

 

History

History
169 lines (128 loc) · 4.41 KB

README.rst

File metadata and controls

169 lines (128 loc) · 4.41 KB

docs/images/hue_logo.png

Welcome to the repository for Hue

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

docs/images/hue-screen.png

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, a SDK is available for creating new apps integrated with Hadoop.

More user and developer documentation is available at http://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:
  • 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
CentOS/RHEL:
  • 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 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