Introduction
Dex is short for Data Explorer. Dex is an application for interacting with data. Dex provides data extraction, transformation, visualization, and predictive capabilities. Dex is ideal for turning data into visual knowledge with a minimum amount of effort.
Major capabilities include:
CAPABILITY | DESCRIPTION |
---|---|
Data Extraction | Dex has the ability to read data from a variety of sources such as CSV, files, databases and even processes and expect driven scripts. |
Transformation | Dex can transform this data into other forms via a variety of components. |
Data Persistence | Dex can save the transformed data to file or database. |
Visualization | Dex provides 40+ visualization tools to help explore your data. In most cases the visualization can be saved into self-contained and interactive HTML5 content which can be viewed with or without a WebServer through a HTML5 compliant browser such as Firefox, Chrome, Safari or later versions of Internet Explorer. More visualizations are being added in each release. |
Machine Learning | Dex offers task for classification, regression, clustering, association as well as integration into traditional machine learning environments such as R via the RServe library. |
Programming | Dex integrates with many JVM runtime compatible languages such as Groovy, R, Processing, Jython, JRuby, Javascript and P5. Additionally, Dex comes equipped with its own language called TMI which is kind of like SQL meets Perl. Any of these languages can be used to perform a variety of general purpose and reusable tasks on the data as it flows through the Dex workflow. |
Getting Started
Installation
Latest and Greatest
There can be quite a bit of time between Dex releases, so one way to get the latest and greatest version of Dex is to download it directly from GitHub as follows:
- You must have git installed.
- You must have Java 8 installed.
- Open a command window and move to the directory you wish to install Dex under.
- git clone https://github.com/PatMartin/Dex.git
Try one of:
- Should work everywhere
- java -jar Dex.jar
Unix platforms:
- ./startDex.sh
Unix platforms
- ./startDex.sh
- Cygwin
- ./startDex.cygwin.sh
- Windows
- ./startDex.bat
- Should work everywhere
The start scripts have the advantage of automatically including libraries found in ${DEX_HOME)/lib/extension. This is useful should the user wish to:
- Add custom task (must start with com.dexvis.task.* in order to be automatically discovered by Dex).
- Add JDBC drivers
- Add libraries for use with scripts
Install From Release
Very infrequently relative to the constantly evolving github code, I will produce a turnkey release. Download via github if you prefer a more cutting edge release. I keep it in pretty good shape.
- If Java 8 is not installed on your desktop, download and install it.
- Download the latest version from https://dexvis.net
- Unzip the distribution into a destination directory.
Alternately here is a video of the installation procedure.
Once you complete this, you are ready to start exploring!
Running Dex
Windows users can double click the "Dex.exe" application and a splash screen and Dex should appear shortly thereafter.
Windows and other operating systems can run the executable jar from the Dex installation directory via the command:
java -jar Dex.jar
Depending on what type of VM you have, you may wish to give Dex more memory. On a hotspot VM we can run Dex with 1 gigabyte of RAM via:
java -Xms1g -Xmx1g Dex.jar
How much memory you allocate is really depending on how large of datasets you wish to work with and how complex your expected workflows are.
Dex UI Overview
Once Dex is running, you should see a window which looks something like:
Don't worry if there are minor differences, Dex evolves.
Palette Pane
Within this pane, you will see a series of candidate task for your workflow segregated into relevant categories. From here, you can select them to see the documentation within the rightmost pane.
If you double-click a task, it will be added to the Task Pane. Alternately, you may drag them and drop them into the task pane.
As you add task to the task pane, you are creating a workflow. A workflow is a series of task which are executed in series, starting at the top and working down to the bottom.
Task Pane
After adding task to the task pane, you have created a workflow. A workflow typically looks like:
Read Data -> Transform Data -> Visualize Data
For instance, we might read in a CSV via the Read CSV task, then use "Select Columns" to determine which columns we wish to visualize as well as the order in which they will occur. Last, we may visualize the data via one of the many Dex visual components.
When task are left clicked, the user may enable, disable, rename or configure them.
General Pane
This pane will show 1 of 2 things depending on what you are doing.
- When a task is selected from the Palette Pane, the online documentation for that task will be displayed.
- When a task is selected from the Task Pane, the configuration or execution results will be displayed. If multiple tasks are selected, the pane will tile each display within the available space within this pane.