Hue 3.12, the improved editor for SQL Developers and Analysts is out!

Hue 3.12, the improved editor for SQL Developers and Analysts is out!

Hi Big Data Explorers,

 

The Hue Team is glad to thanks all the contributors and release Hue 3.12! hue-logo (copy)

In this latest updates of Hue, the intelligent editor for SQL Developers and Analysts the focus was on the Editor and security. More than 1570 commits on top of 3.11 went in! Go grab the tarball release and give it a spin!


Download

Here is a list of the main improvements.with links to more detailed blog posts. For all the changes, check out the release notes and for a quick try open-up demo.gethue.com.

 

SQL Improvements

The Hue editor keeps getting better with these major improvements:

Row Count

The number of rows returned is displayed so you can quickly see the size of the dataset. If the database engine does not provide the number of rows, Hue estimates the value and appends a plus sign, e.g. 100+.

Sample Popup

This popup offers a quick way to see sample of the data and other statistics on databases, tables, and columns. You can open the popup from the SQL Assist or with a right-click on any SQL object (table, column, function…). In this release, it also opens faster and caches the data.

The footer provides direct links to the metastore page or to the table in the table Assist.

 

SQL Assist

The rendering of the items was rewritten and optimized. You should not experience any lag on databases with thousands of columns.

SQL Formatter

The SQL Formatter has a new and smarter algorithm that will make your queries look pretty with a single click!

Timeline and Pivot Graphing

These visualizations are convenient for plotting chronological data or when subsets of rows have the same attribute and they will be stacked together.

Timeline

Pivot

Creating an External Table

The improved support for S3 introduced the possibility of directly creating an external table in HDFS or S3.

 

Read more about the SQL improvements here.

Automated S3 Configuration

When using Cloudera Manager, Hue will now inherit automatically the S3 credentials if those are configured.

Regular user won’t have automatically access to the S3 Browser and autocomplete. They will require to have the “File Browser S3 permission” in Hue User admin added to one of their groups.

 

Read more about S3 configuration here.

 

New Security Improvements

Many security options have been added in order to help administrators enforce and manage secure Hue installations.

Fixed Arbitrary host header acceptance

Fixed Arbitrary host header acceptance in Hue. Now one can set host/domain names that the Hue server can serve.
allowed_hosts=”host.domain,host2.domain,host3.domain”

[desktop]
allowed_hosts="*.domain"
# your own fqdn example: allowed_hosts="*.hadoop.cloudera.com"
# or specific example: allowed_hosts="hue1.hadoop.cloudera.com,hue2.hadoop.cloudera.com"

Note: “Bad Request (400)” error: when hosting Hue in an AWS cluster, you might need to set the value to ‘*’ to allow external client of the network to access Hue.

Fixed sessionid and csrftoken with HttpOnly Flag

If the HttpOnly flag is included in HTTP response header, then the cookie cannot be accessed through client side script and thus browser will not reveal the cookie to any third party. In order to help mitigate the risk of cross-site scripting, A cookie with this attribute is called an HTTP-only cookie. Any information contained in an HTTP-only cookie is less likely to be disclosed to a hacker or a malicious Web site.

SASL Support for hive.server2.thrift.sasl.qop=”auth-conf”

SASL mechanisms support integrity and privacy protection of the communication channel after successful authentication.

In Thrift SASL library, the sasl_max_buffer support is already implemented. sasl_max_buffer in the hue.ini provides a bigger and configurable buffer size that allow to provide support for hive.server2.thrift.sasl.qop="auth-conf".

[desktop]
# This property specifies the maximum size of the receive buffer in bytes in thrift sasl communication (default 2 MB).
sasl_max_buffer=2 * 1024 * 1024

Introducing Request HTTP Pool in Hue

The Request Session object allows the persistence of certain parameters across requests. It also persists cookies across all requests made from the Session instance, and will use urllib3’s connection pooling. We are making several requests to the same host:port, with this change the underlying TCP connection will be reused, which can result in a significant performance increase.

CACHE_SESSION = requests.Session()
CACHE_SESSION.mount('http://', requests.adapters.HTTPAdapter(pool_connections=conf.CHERRYPY_SERVER_THREADS.get(), pool_maxsize=conf.CHERRYPY_SERVER_THREADS.get()))
CACHE_SESSION.mount('https://', requests.adapters.HTTPAdapter(pool_connections=conf.CHERRYPY_SERVER_THREADS.get(), pool_maxsize=conf.CHERRYPY_SERVER_THREADS.get()))

Content-Security-Policy: header

The new Content-Security-Policy HTTP response header helps you reduce XSS risks on modern browsers by declaring what dynamic resources are allowed to load via a HTTP Header. (For more reading: https://content-security-policy.com/)

[desktop]
secure_content_security_policy="script-src 'self' 'unsafe-inline' 'unsafe-eval' *.google-analytics.com *.doubleclick.net *.mathjax.org data:;img-src 'self' *.google-analytics.com *.doubleclick.net http://*.tile.osm.org *.tile.osm.org *.gstatic.com data:;style-src 'self' 'unsafe-inline';connect-src 'self';child-src 'self' data:;object-src 'none'"
#In HUE 3.11 and higher it is enabled by default.

 

Read more about the security improvements here and here.

 

Oozie Improvements

Email Notifications

It becomes easy to receive an email notification after a workflow execution is complete. The workflow submission popup now shows the “Send completion email” checkbox.

Extended Dashboard Filtering

Just start typing in the text field to get the list of jobs whose Name or Submitter partially matches with the text. From the below picture, you can see that text sh partially matches with the names of all four jobs. Note that the filter is applied on all the jobs and not just the ones in the current page.

To find the one single job among thousands of submitted jobs, you should enter the complete ID.

 

Read more about the Oozie improvements here.

 

Team Retreats

 

 

Next!

Next iteration will keep improving the data SQL Edition and Data Discovery. Hue 4 will get real, with the goal of becoming the equivalent of “Excel for Big Data”. The current apps are being unified into the new Editor and the whole Hue will become a single app that would provide the best Data Analytics user experience for Hadoop on prem or in the Cloud.

 

Onwards!

 

As usual thank you to all the project contributors and for sending feedback and participating on the hue-user list or @gethue!

 

25 Comments

  1. jc 7 months ago

    is there a plan to support JSON pretty print and inline editing (other than plain text editing) in HBase explorer? I can see HBase exporer can detect MIME type for JSON but in the full editor it’s just displayed/edited as plain text.

  2. Toni LeTempt 7 months ago

    Where can we find the upgrade guide to migrate Hue 3.9 to Hue 3.12? I haven’t been able to find it on the website. We have a Hue 3.9 database and want to be able to keep all of our query history.

  3. Reetika 7 months ago

    Hi, I am trying to install HUE-3.12 on centOS 6.
    When I run make command to install hue I am getting below error:

    — Installing core source structure…
    — Installing Desktop core…
    INSTALL_DIR=/u/applic/data/hdfs1/hue make -C desktop install
    make[1]: Entering directory `/u/applic/data/hdfs1/hue-3.12.0/desktop’
    INSTALL_DIR=/u/applic/data/hdfs1/hue/desktop/core \
    INSTALL_CONF_DIR=/u/applic/data/hdfs1/hue/desktop/conf \
    make -C core install-bdist
    make[2]: Entering directory `/u/applic/data/hdfs1/hue-3.12.0/desktop/core’
    — Building egg for cryptography-1.3.1
    Download error on https://pypi.python.org/simple/cffi/: [Errno -2] Name or service not known — Some packages may not be found!
    Couldn’t find index page for ‘cffi’ (maybe misspelled?)
    Download error on https://pypi.python.org/simple/: [Errno -2] Name or service not known — Some packages may not be found!
    No local packages or download links found for cffi>=1.4.1
    Traceback (most recent call last):
    File “”, line 1, in
    File “/u/applic/data/hdfs1/hue-3.12.0/build/env/lib/python2.6/site-packages/setuptools/sandbox.py”, line 238, in run_setup
    raise
    File “/usr/lib64/python2.6/contextlib.py”, line 34, in __exit__
    self.gen.throw(type, value, traceback)
    File “/u/applic/data/hdfs1/hue-3.12.0/build/env/lib/python2.6/site-packages/setuptools/sandbox.py”, line 191, in setup_context
    yield
    File “/usr/lib64/python2.6/contextlib.py”, line 34, in __exit__
    self.gen.throw(type, value, traceback)
    File “/u/applic/data/hdfs1/hue-3.12.0/build/env/lib/python2.6/site-packages/setuptools/sandbox.py”, line 162, in save_modules
    saved_exc.resume()
    File “/u/applic/data/hdfs1/hue-3.12.0/build/env/lib/python2.6/site-packages/setuptools/sandbox.py”, line 137, in resume
    compat.reraise(type, exc, self._tb)
    File “/u/applic/data/hdfs1/hue-3.12.0/build/env/lib/python2.6/site-packages/setuptools/sandbox.py”, line 150, in save_modules
    yield saved
    File “/u/applic/data/hdfs1/hue-3.12.0/build/env/lib/python2.6/site-packages/setuptools/sandbox.py”, line 191, in setup_context
    yield
    File “/u/applic/data/hdfs1/hue-3.12.0/build/env/lib/python2.6/site-packages/setuptools/sandbox.py”, line 235, in run_setup
    DirectorySandbox(setup_dir).run(runner)
    File “/u/applic/data/hdfs1/hue-3.12.0/build/env/lib/python2.6/site-packages/setuptools/sandbox.py”, line 265, in run
    return func()
    File “/u/applic/data/hdfs1/hue-3.12.0/build/env/lib/python2.6/site-packages/setuptools/sandbox.py”, line 234, in runner
    _execfile(setup_script, ns)
    File “/u/applic/data/hdfs1/hue-3.12.0/build/env/lib/python2.6/site-packages/setuptools/sandbox.py”, line 46, in _execfile
    exec(code, globals, locals)
    File “setup.py”, line 335, in
    **keywords_with_side_effects(sys.argv)
    File “/usr/lib64/python2.6/distutils/core.py”, line 113, in setup
    _setup_distribution = dist = klass(attrs)
    File “/u/applic/data/hdfs1/hue-3.12.0/build/env/lib/python2.6/site-packages/setuptools/dist.py”, line 265, in __init__
    self.fetch_build_eggs(attrs[‘setup_requires’])
    File “/u/applic/data/hdfs1/hue-3.12.0/build/env/lib/python2.6/site-packages/setuptools/dist.py”, line 311, in fetch_build_eggs
    replace_conflicting=True,
    File “/u/applic/data/hdfs1/hue-3.12.0/build/env/lib/python2.6/site-packages/pkg_resources/__init__.py”, line 797, in resolve
    dist = best[req.key] = env.best_match(req, ws, installer)
    File “/u/applic/data/hdfs1/hue-3.12.0/build/env/lib/python2.6/site-packages/pkg_resources/__init__.py”, line 1047, in best_match
    return self.obtain(req, installer)
    File “/u/applic/data/hdfs1/hue-3.12.0/build/env/lib/python2.6/site-packages/pkg_resources/__init__.py”, line 1059, in obtain
    return installer(requirement)
    File “/u/applic/data/hdfs1/hue-3.12.0/build/env/lib/python2.6/site-packages/setuptools/dist.py”, line 378, in fetch_build_egg
    return cmd.easy_install(req)
    File “/u/applic/data/hdfs1/hue-3.12.0/build/env/lib/python2.6/site-packages/setuptools/command/easy_install.py”, line 617, in easy_install
    raise DistutilsError(msg)
    distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse(‘cffi>=1.4.1′)
    make[2]: *** [/u/applic/data/hdfs1/hue-3.12.0/desktop/core/build/cryptography-1.3.1/egg.stamp] Error 1
    make[2]: Leaving directory `/u/applic/data/hdfs1/hue-3.12.0/desktop/core’
    make[1]: *** [.recursive-install-bdist/core] Error 2
    make[1]: Leaving directory `/u/applic/data/hdfs1/hue-3.12.0/desktop’
    make: *** [install-desktop] Error 2

    I checked with the packages all the required packages are installed.
    Can you please help me with the issue?

    • Author
      Hue Team 7 months ago

      We just tried with a new CentOS 6.8 (x64), installing all the requirements, and both the 3.12 and master builds work (make apps). Then we also did a make install, setting the prefix beforehand (export PREFIX=/path/to/your/install), and that worked for us too. Make sure you start from a clean folder as well.

  4. Reetika 7 months ago

    Hi,
    The previous issue got fixed but now I am having problem with build.
    It’s not finding packages from python site and those packages are existing in the given url.
    Last package I installed manually from python site but now it’s throwing error for different package :

    $./build/env/bin/easy_install pyOpenSSL

    Searching for pyOpenSSL
    Best match: pyOpenSSL 0.15.1
    Processing pyOpenSSL-0.15.1-py2.6.egg
    pyOpenSSL 0.15.1 is already the active version in easy-install.pth

    Using /u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/pyOpenSSL-0.15.1-py2.6.egg
    Processing dependencies for pyOpenSSL
    Searching for enum34
    Reading https://pypi.python.org/simple/enum34/
    Download error on https://pypi.python.org/simple/enum34/: [Errno -2] Name or service not known — Some packages may not be found!
    Couldn’t find index page for ‘enum34’ (maybe misspelled?)
    Scanning index of all packages (this may take a while)
    Reading https://pypi.python.org/simple/
    Download error on https://pypi.python.org/simple/: [Errno -2] Name or service not known — Some packages may not be found!
    No local packages or download links found for enum34
    error: Could not find suitable distribution for Requirement.parse(‘enum34’)

    • Author
      Hue Team 7 months ago

      Have you tried from a really fresh downloaded Hue?

  5. Reetika 7 months ago

    When I am trying to acsess web of hue-3.12 then I am getting below error:

    Traceback (most recent call last):
    File “/u/applic/data/hdfs1/hue/desktop/core/src/desktop/lib/wsgiserver.py”, line 1215, in communicate
    req.respond()
    File “/u/applic/data/hdfs1/hue/desktop/core/src/desktop/lib/wsgiserver.py”, line 576, in respond
    self._respond()
    File “/u/applic/data/hdfs1/hue/desktop/core/src/desktop/lib/wsgiserver.py”, line 588, in _respond
    response = self.wsgi_app(self.environ, self.start_response)
    File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Django-1.6.10-py2.6.egg/django/core/handlers/wsgi.py”, line 206, in __call__
    response = self.get_response(request)
    File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Django-1.6.10-py2.6.egg/django/core/handlers/base.py”, line 194, in get_response
    response = self.handle_uncaught_exception(request, resolver, sys.exc_info())
    File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Django-1.6.10-py2.6.egg/django/core/handlers/base.py”, line 236, in handle_uncaught_exception
    return callback(request, **param_dict)
    File “/u/applic/data/hdfs1/hue/desktop/core/src/desktop/views.py”, line 382, in serve_500_error
    return render(“500.mako”, request, {‘traceback’: traceback.extract_tb(exc_info[2])})
    File “/u/applic/data/hdfs1/hue/desktop/core/src/desktop/lib/django_util.py”, line 227, in render
    **kwargs)
    File “/u/applic/data/hdfs1/hue/desktop/core/src/desktop/lib/django_util.py”, line 148, in _render_to_response
    return django_mako.render_to_response(template, *args, **kwargs)
    File “/u/applic/data/hdfs1/hue/desktop/core/src/desktop/lib/django_mako.py”, line 125, in render_to_response
    return HttpResponse(render_to_string(template_name, data_dictionary), **kwargs)
    File “/u/applic/data/hdfs1/hue/desktop/core/src/desktop/lib/django_mako.py”, line 114, in render_to_string_normal
    result = template.render(**data_dict)
    File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Mako-0.8.1-py2.6.egg/mako/template.py”, line 443, in render
    return runtime._render(self, self.callable_, args, data)
    File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Mako-0.8.1-py2.6.egg/mako/runtime.py”, line 786, in _render
    **_kwargs_for_callable(callable_, data))
    File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Mako-0.8.1-py2.6.egg/mako/runtime.py”, line 818, in _render_context
    _exec_template(inherit, lclcontext, args=args, kwargs=kwargs)
    File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Mako-0.8.1-py2.6.egg/mako/runtime.py”, line 844, in _exec_template
    callable_(context, *args, **kwargs)
    File “/tmp/tmph5BB7Q/desktop/500.mako.py”, line 111, in render_body
    __M_writer(unicode( commonfooter(request, messages) ))
    File “/u/applic/data/hdfs1/hue/desktop/core/src/desktop/views.py”, line 508, in commonfooter
    ‘tours_and_tutorials’: hue_settings.tours_and_tutorials
    File “/u/applic/data/hdfs1/hue/desktop/core/src/desktop/lib/django_mako.py”, line 114, in render_to_string_normal
    result = template.render(**data_dict)
    File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Mako-0.8.1-py2.6.egg/mako/template.py”, line 443, in render
    return runtime._render(self, self.callable_, args, data)
    File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Mako-0.8.1-py2.6.egg/mako/runtime.py”, line 786, in _render
    **_kwargs_for_callable(callable_, data))
    File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Mako-0.8.1-py2.6.egg/mako/runtime.py”, line 818, in _render_context
    _exec_template(inherit, lclcontext, args=args, kwargs=kwargs)
    File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Mako-0.8.1-py2.6.egg/mako/runtime.py”, line 844, in _exec_template
    callable_(context, *args, **kwargs)
    File “/tmp/tmph5BB7Q/desktop/common_footer.mako.py”, line 55, in render_body
    __M_writer(unicode( smart_unicode(login_modal(request).content) ))
    File “/u/applic/data/hdfs1/hue/desktop/core/src/desktop/views.py”, line 482, in login_modal
    return desktop.auth.views.dt_login(request, True)
    File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/django_axes-1.5.0-py2.6.egg/axes/decorators.py”, line 300, in decorated_login
    if is_already_locked(request):
    File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/django_axes-1.5.0-py2.6.egg/axes/decorators.py”, line 373, in is_already_locked
    attempts = get_user_attempts(request)
    File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/django_axes-1.5.0-py2.6.egg/axes/decorators.py”, line 255, in get_user_attempts
    attempts = _get_user_attempts(request)
    File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/django_axes-1.5.0-py2.6.egg/axes/decorators.py”, line 242, in _get_user_attempts
    if not attempts:
    File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Django-1.6.10-py2.6.egg/django/db/models/query.py”, line 100, in __nonzero__
    self._fetch_all()
    File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Django-1.6.10-py2.6.egg/django/db/models/query.py”, line 857, in _fetch_all
    self._result_cache = list(self.iterator())
    File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Django-1.6.10-py2.6.egg/django/db/models/query.py”, line 220, in iterator
    for row in compiler.results_iter():
    File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Django-1.6.10-py2.6.egg/django/db/models/sql/compiler.py”, line 713, in results_iter
    for rows in self.execute_sql(MULTI):
    File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Django-1.6.10-py2.6.egg/django/db/models/sql/compiler.py”, line 786, in execute_sql
    cursor.execute(sql, params)
    File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Django-1.6.10-py2.6.egg/django/db/backends/util.py”, line 53, in execute
    return self.cursor.execute(sql, params)
    File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Django-1.6.10-py2.6.egg/django/db/utils.py”, line 99, in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
    File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Django-1.6.10-py2.6.egg/django/db/backends/util.py”, line 53, in execute
    return self.cursor.execute(sql, params)
    File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Django-1.6.10-py2.6.egg/django/db/backends/mysql/base.py”, line 124, in execute
    return self.cursor.execute(query, args)
    File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/MySQL_python-1.2.5-py2.6-linux-x86_64.egg/MySQLdb/cursors.py”, line 205, in execute
    self.errorhandler(self, exc, value)
    File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/MySQL_python-1.2.5-py2.6-linux-x86_64.egg/MySQLdb/connections.py”, line 36, in defaulterrorhandler
    raise errorclass, errorvalue
    ProgrammingError: (1146, “Table ‘hue.axes_accessattempt’ doesn’t exist”)

    Is there anything I am missing?

    • Author
      Hue Team 7 months ago

      Yes, it looks like you are using an old Hue database that hasn’t been migrated: This blog post has a bit more info on it: http://gethue.com/how-to-manage-the-hue-database-with-the-shell/

      • Reetika 7 months ago

        I am using mysql for hue db. I have created tables in db.
        When I am entering login credential in the UI I am getting below error in UI:

        Traceback (most recent call last):
        File “/u/applic/data/hdfs1/hue/desktop/core/src/desktop/lib/wsgiserver.py”, line 1215, in communicate
        req.respond()
        File “/u/applic/data/hdfs1/hue/desktop/core/src/desktop/lib/wsgiserver.py”, line 576, in respond
        self._respond()
        File “/u/applic/data/hdfs1/hue/desktop/core/src/desktop/lib/wsgiserver.py”, line 588, in _respond
        response = self.wsgi_app(self.environ, self.start_response)
        File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Django-1.6.10-py2.6.egg/django/core/handlers/wsgi.py”, line 206, in __call__
        response = self.get_response(request)
        File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Django-1.6.10-py2.6.egg/django/core/handlers/base.py”, line 194, in get_response
        response = self.handle_uncaught_exception(request, resolver, sys.exc_info())
        File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Django-1.6.10-py2.6.egg/django/core/handlers/base.py”, line 236, in handle_uncaught_exception
        return callback(request, **param_dict)
        File “/u/applic/data/hdfs1/hue/desktop/core/src/desktop/views.py”, line 382, in serve_500_error
        return render(“500.mako”, request, {‘traceback’: traceback.extract_tb(exc_info[2])})
        File “/u/applic/data/hdfs1/hue/desktop/core/src/desktop/lib/django_util.py”, line 227, in render
        **kwargs)
        File “/u/applic/data/hdfs1/hue/desktop/core/src/desktop/lib/django_util.py”, line 148, in _render_to_response
        return django_mako.render_to_response(template, *args, **kwargs)
        File “/u/applic/data/hdfs1/hue/desktop/core/src/desktop/lib/django_mako.py”, line 125, in render_to_response
        return HttpResponse(render_to_string(template_name, data_dictionary), **kwargs)
        File “/u/applic/data/hdfs1/hue/desktop/core/src/desktop/lib/django_mako.py”, line 114, in render_to_string_normal
        result = template.render(**data_dict)
        File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Mako-0.8.1-py2.6.egg/mako/template.py”, line 443, in render
        return runtime._render(self, self.callable_, args, data)
        File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Mako-0.8.1-py2.6.egg/mako/runtime.py”, line 786, in _render
        **_kwargs_for_callable(callable_, data))
        File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Mako-0.8.1-py2.6.egg/mako/runtime.py”, line 818, in _render_context
        _exec_template(inherit, lclcontext, args=args, kwargs=kwargs)
        File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Mako-0.8.1-py2.6.egg/mako/runtime.py”, line 844, in _exec_template
        callable_(context, *args, **kwargs)
        File “/tmp/tmph5BB7Q/desktop/500.mako.py”, line 111, in render_body
        __M_writer(unicode( commonfooter(request, messages) ))
        File “/u/applic/data/hdfs1/hue/desktop/core/src/desktop/views.py”, line 508, in commonfooter
        ‘tours_and_tutorials’: hue_settings.tours_and_tutorials
        File “/u/applic/data/hdfs1/hue/desktop/core/src/desktop/lib/django_mako.py”, line 114, in render_to_string_normal
        result = template.render(**data_dict)
        File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Mako-0.8.1-py2.6.egg/mako/template.py”, line 443, in render
        return runtime._render(self, self.callable_, args, data)
        File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Mako-0.8.1-py2.6.egg/mako/runtime.py”, line 786, in _render
        **_kwargs_for_callable(callable_, data))
        File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Mako-0.8.1-py2.6.egg/mako/runtime.py”, line 818, in _render_context
        _exec_template(inherit, lclcontext, args=args, kwargs=kwargs)
        File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Mako-0.8.1-py2.6.egg/mako/runtime.py”, line 844, in _exec_template
        callable_(context, *args, **kwargs)
        File “/tmp/tmph5BB7Q/desktop/common_footer.mako.py”, line 55, in render_body
        __M_writer(unicode( smart_unicode(login_modal(request).content) ))
        File “/u/applic/data/hdfs1/hue/desktop/core/src/desktop/views.py”, line 482, in login_modal
        return desktop.auth.views.dt_login(request, True)
        File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/django_axes-1.5.0-py2.6.egg/axes/decorators.py”, line 304, in decorated_login
        response = func(request, *args, **kwargs)
        File “/u/applic/data/hdfs1/hue/desktop/core/src/desktop/auth/views.py”, line 115, in dt_login
        if auth_form.is_valid():
        File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Django-1.6.10-py2.6.egg/django/forms/forms.py”, line 129, in is_valid
        return self.is_bound and not bool(self.errors)
        File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Django-1.6.10-py2.6.egg/django/forms/forms.py”, line 121, in errors
        self.full_clean()
        File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Django-1.6.10-py2.6.egg/django/forms/forms.py”, line 274, in full_clean
        self._clean_form()
        File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Django-1.6.10-py2.6.egg/django/forms/forms.py”, line 300, in _clean_form
        self.cleaned_data = self.clean()
        File “/u/applic/data/hdfs1/hue/desktop/core/src/desktop/auth/forms.py”, line 82, in clean
        return self.authenticate()
        File “/u/applic/data/hdfs1/hue/desktop/core/src/desktop/auth/forms.py”, line 102, in authenticate
        server=server)
        File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Django-1.6.10-py2.6.egg/django/contrib/auth/__init__.py”, line 49, in authenticate
        user = backend.authenticate(**credentials)
        File “/u/applic/data/hdfs1/hue/desktop/core/src/desktop/lib/metrics/registry.py”, line 388, in wrapper
        return fn(*args, **kwargs)
        File “/u/applic/data/hdfs1/hue/desktop/core/src/desktop/auth/backend.py”, line 470, in authenticate
        profile = get_profile(user)
        File “/u/applic/data/hdfs1/hue/apps/useradmin/src/useradmin/models.py”, line 149, in get_profile
        profile = UserProfile.objects.get(user=user)
        File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Django-1.6.10-py2.6.egg/django/db/models/manager.py”, line 151, in get
        return self.get_queryset().get(*args, **kwargs)
        File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Django-1.6.10-py2.6.egg/django/db/models/query.py”, line 304, in get
        num = len(clone)
        File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Django-1.6.10-py2.6.egg/django/db/models/query.py”, line 77, in __len__
        self._fetch_all()
        File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Django-1.6.10-py2.6.egg/django/db/models/query.py”, line 857, in _fetch_all
        self._result_cache = list(self.iterator())
        File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Django-1.6.10-py2.6.egg/django/db/models/query.py”, line 220, in iterator
        for row in compiler.results_iter():
        File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Django-1.6.10-py2.6.egg/django/db/models/sql/compiler.py”, line 713, in results_iter
        for rows in self.execute_sql(MULTI):
        File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Django-1.6.10-py2.6.egg/django/db/models/sql/compiler.py”, line 786, in execute_sql
        cursor.execute(sql, params)
        File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Django-1.6.10-py2.6.egg/django/db/backends/util.py”, line 53, in execute
        return self.cursor.execute(sql, params)
        File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Django-1.6.10-py2.6.egg/django/db/utils.py”, line 99, in __exit__
        six.reraise(dj_exc_type, dj_exc_value, traceback)
        File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Django-1.6.10-py2.6.egg/django/db/backends/util.py”, line 53, in execute
        return self.cursor.execute(sql, params)
        File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/Django-1.6.10-py2.6.egg/django/db/backends/mysql/base.py”, line 124, in execute
        return self.cursor.execute(query, args)
        File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/MySQL_python-1.2.5-py2.6-linux-x86_64.egg/MySQLdb/cursors.py”, line 205, in execute
        self.errorhandler(self, exc, value)
        File “/u/applic/data/hdfs1/hue/build/env/lib/python2.6/site-packages/MySQL_python-1.2.5-py2.6-linux-x86_64.egg/MySQLdb/connections.py”, line 36, in defaulterrorhandler
        raise errorclass, errorvalue

        OperationalError: (1054, “Unknown column ‘useradmin_userprofile.last_activity’ in ‘field list'”)

        Any help on that?

        • Author
          Hue Team 7 months ago

          Did you sync the db as specified here? http://gethue.com/how-to-manage-the-hue-database-with-the-shell/ with build/env/bin/hue syncdb and build/env/bin/hue migrate

          • Reetika 7 months ago

            Actually I did run both the commands already.
            After running “build/env/bin/hue migrate” command it says –
            “DeprecationWarning: Python 2.6 is no longer supported by the Python core team, please upgrade your Python. A future version of cryptography will drop support for Python 2.6”

            Does this can be related to python version?

          • Author
            Hue Team 7 months ago

            This one is just a warning for the developer and can be ignored.

  6. Reetika 6 months ago

    In HUI UI it’s not picking up hive port that I have defined in hue.ini config file.
    What can the possibility of picking up different port than that is defined in hue.ini file?

    • Author
      Hue Team 6 months ago

      How did you install Hue? Which property are you changing and where?

  7. Ash 6 months ago

    Hello! I am on rh7 and downloaded and installed Hue 3.12, as per video/instructions. I am working on 4 clean machines, the only thing on them and running well is Ambari server Hotonworks managing my Hadoop multi-cluster. Everything went well, no errors, but when I run the ‘/usr/local/hue/build/env/bin/supervisor’ from the hue.3.12 dir, the port doesn’t work, 8888. My screen after that command looks just like the video’s but i get a bad request 400 error. It is not the firewalld, or iptables. What else can it be?

  8. Ash 6 months ago

    Thank you Hue Team! Sorry I overlooked that step. It’s good now. I was also wondering why in the video the error “HBase Browser The application won’t work without a running HBase Thrift Server v1. ” does not pop up, but on mine it does. And my hbase CLuster configs are pointing to the correct place for me, but i don’t have this port 9090 in my hadoop configs. So obviously it can’t work. But, Could you explain this?

  9. mm 6 months ago

    Hi Hue Team,

    is there somewhere an offline installation package? That can be used in an isolated environment without access to internet.

    • Author
      Hue Team 5 months ago

      You could use the packaged version from CDH for the latest

  10. Ev 5 months ago

    Do I have to use Cloudera’s Optimizer to enable popularity in metastore browser?

    Right now we have a very large database that has 100k tables in Hive.

    The thrift call getTables gives timeout issue. So I am using ‘show tables’ to get the tables.

    But showing 100k tables is still wasting resources/time. So I am planning to show just top 5000 rows.

    Then we need the popularity feature. Only the top 5000 popular tables will be shown.

    I read the code, it looks like that Hue needs Cloudera’s Optimizer API to enable popularity, right?

    Thanks a lot!

  11. Reetika 4 months ago

    Is there a way to distribute hive query load to multiple hive servers in HUE?

Leave a reply

Your email address will not be published. Required fields are marked *

*