Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ufukomer/bloomery
Web UI for Impala
https://github.com/ufukomer/bloomery
impala node-impala react redux thrift web-ui
Last synced: 10 days ago
JSON representation
Web UI for Impala
- Host: GitHub
- URL: https://github.com/ufukomer/bloomery
- Owner: ufukomer
- License: apache-2.0
- Created: 2016-04-14T02:47:41.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-03-17T15:24:09.000Z (over 7 years ago)
- Last Synced: 2024-08-02T02:15:58.886Z (3 months ago)
- Topics: impala, node-impala, react, redux, thrift, web-ui
- Language: JavaScript
- Homepage:
- Size: 1.23 MB
- Stars: 18
- Watchers: 2
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: license
Awesome Lists containing this project
README
# Bloomery
Bloomery is an open source query execution tool for [Impala](http://impala.io/). It uses [node-impala](https://github.com/ufukomer/node-impala) which provides communication between Impala and Node client using the Beeswax Service. Bloomery has ability to show tables of database, columns of tables, saved queries, recent queries and so on.
* [Features](#features)
* [Architecture](#architecture)
* [Requirements](#requirements)
* [Installation](#installation)![Bloomery UI](screenshots/bloomery.png)
## Features
Bloomery has the following features:
* _Syntax highlighting:_ On the web ui, the editor immediately highlights the sql keywords (e.g select, from, as, where, group, etc.) after the user types it.
* _Autocomplete:_ While user typing any of the sql keywords, the editor’s suggestion dropdown pops up.
* _Saved queries:_ It is possible to save any query using save query section.
* _Query history:_ Application saves the all recent queries.
* _Show query results:_ Shows all results under the results tab.
* _Remote connection:_ User can change connection settings for the purpose of connecting server from different machine either with different Host IP or Port Number.
* _Show tables:_ On top left side of the application it shows all tables of database.
* _Show columns:_ On the bottom left side of the application it shows table columns with their type property.## Architecture
Bloomery communicates with node-impala using Express Rest API. Express Rest API maps URLs with node-impala’s connect and query methods. Then the actions like _executeQuery_, _showTables_, _showColumns_ sends query with request parameters to Rest API then Express forwards that query to node-impala which handles and returns results using Thrift. Eventually, Express puts this results to response body which we present to users inside the table under results tab of ui menu.
![Bloomery Architecture](screenshots/architecture.jpg)
## Requirements
* Node.js
* Impala## Installation
1. Install dependencies
```
$ npm install
```2. Build Bloomery
```
$ npm run build
```3. Start server
```
$ npm run serve
```## License
Apache License, Version 2.0