Browsing Hive tables data and metadata is getting faster and prettier

Browsing Hive tables data and metadata is getting faster and prettier

Hue continues to boost the experience of SQL users with its improved autocompletes, smarter assist panel, SQL notebooks… and now a revamped Hive Metastore Browser.

The app is now single page and offers speed and more accessible statistics and data preview. See more of the improvements below or take a look at the following video demo.

New UI

Fresh restart

The front-end has been rewritten to be slicker and more user-friendly. More information is displayed and navigating across tabs is seamless as it no longer entails a page refresh.

blog-57-metastore-table

Table specific page after

blog-55-metastore-table.png

Table specific page before

 

blog-57-metastore-tables

List of tables page after

blog-55-metastore-tables

List of tables page before

 

Easy edition

Table and column comments can be edited in a single click.

blog-edit-comments

Getting pretty

Scrolling bars are not flaky and ugly like in the previous version. They are invisible by default, and subtle when displayed

New

Old default scrollbar

Old

 

Creation wizards

We also refreshed the wizard for creating tables and databases quickly, whether designing the schema manually or automatically from a sample file.

blog-57-create table

 

Speed

 

Single page app: first, now the initial page loads very quickly and fetches asynchronously the list of tables, table statistics, data sample, partition list. We are not blocking anymore until everything is queried in Hive. Subsequent navigation clicks will trigger only 1 or 2 calls to the server, instead of reloading all the page resources again. As an added bonus, the browser history now works on all the pages.

meta-slow meta-quick

Caching: The new assist caches all the Hive metadata. The pages listing tables and database also point to the same cache, as well as the editor autocomplete. This means that now the fetching of thousand of Hive tables and databases will only happen once. On the Hive side, these calls have even been optimized for taking seconds instead of previously minutes (HIVE-7575).

New Metastore blog post caching and hue each(1)

Don’t freeze my browser: on top of the caching, Hue is now much smarter thanks to its custom foreachVisible Ko Js [link] binding that displays only the elements visible on the screen. For example if the user has a list of 5000 tables, only tens of them will actually be rendered (the rendering is a costly part). The binding operates a sliding window of top of all this data, supports scrolling and won’t block your browser tab or even crash it anymore when displaying large list of objects.

New Metastore blog post caching and hue each

Data rich

Statistics

Stats are easier to access than before. Most of the database and table metadata are displayed on top. Top values, min, max can also be retrieved and refreshed directly from the UI. Links to HDFS locations are automatically added.blog-metastore-stats

blog-col-stats

 

Preview data

The first few rows of table data are displayed on the first page to provide users with a convenient quick preview.

blog-metastore-preview-data

Preview partitions

Partitions keys and a sample of partition values can also be found on the main page. Advanced users can filter and query all the partitions in the partition browser.

Metastore Partition View

 

The Hue team hopes that these new features will make your SQL data search and discovery easier! The metastore app will keep getting better by making data partitions and indexes easier to access and by adding more table, column, usage, top queries statistics. More is on a way, with a brand new SQL Editor!

Feel free to send feedback on the hue-user list or @gethue!

2 Comments

  1. Antonio B. 9 months ago

    Hello.
    The paragraph on caching mentions some Hive change improving the performance of some actions: “On the Hive side, these calls have even been optimized for taking seconds instead of previously minutes (HIVE-….)”.
    What Hive ticket or commit would that be?

    Cheers

Leave a reply

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

*