Hillview: Distributed Data Visualization

version 1.0 — March 18, 2021

Release Date: March 10, 2021

Summary

Hillview is a simple cloud-based spreadsheet program for browsing large data collections. The data manipulated is read-only. Users can sort, find, filter, transform, query, zoom-in/out, and chart data. Operations are performed using direct manipulation in the GUI. Hillview is designed to work on very large data sets (billions of rows). Hillview can import data from a variety of sources: CSV files, ORC files, Parquet files, databases, parallel databases; new connectors can be added with relatively little effort. Hillview takes advantage of all the cores of the worker machines for fast visualizations.

Hillview is a distributed system, composed of two pieces:

  • A distributed set of one or many workers, which should be installed close to the data (e.g., on the machines that host the data).
  • A front-end service that runs a web server and aggregates data from all workers.

The source code of Hillview is available as an open-source project with an Apache-2 license from Hillview's github repository. For any questions, feature requests or bug reports please file an issue on github.

Requirements
  • Java 8 on all machines involved.
  • Python 2 or 3 for the installation scripts in deploying on a cluster or set of machines.
  • Windows subsystem for Linux if using Windows.
  • A modern web browser.
Instructions
Hillview is designed to be deployed as a set of service workers on a set of machines hosting data, and a front-end web server. (The webserver can run on one of the worker machines. The smallest legal cluster consists of exactly one machine hosting a worker and the web server.)

Instructions for installation on a cluster

  1. Please read the requirements.
  2. Install Java 8 on all cluster machines where the service will run.
  3. The Hillview service runs with the permissions of a local user.
  4. Enable password-less ssh access to all machines for the user account used by Hillview.
  5. Download and extract the zip archive.
  6. The next commands assume a bash shell. On Windows start bash from a command prompt. (You should have installed WSL as part of the requirements.)
  7. cd bin
  8. Edit the Hillview configuration file
    config.json
    This file describes the machines where Hillview will be installed. The comments in the file should serve as a guide.
  9. Run the deployment script to install Hillview on the cluster machines.
    ./deploy.py config.json
  10. To start the services run
    ./start.py config.json
  11. To use Hillview open a web browser and connect to the webserver you have configured, using port 8080.
  12. Try loading the Hillview logs: Load/Hillview logs.
  13. When loading data remember that the data itself in general must be on the worker machines.
  14. To stop the services run
    ./stop.py config.json

There are additional simplified instructions for running Hillview on a single machine (MacOS, Windows or Linux) here.

The user manual is online.

Similar Flings
No similar flings found. Check these out instead...
View More