Deephaven Community Core is a real-time, time-series, column-oriented analytics engine with relational database features. Queries can seamlessly operate upon both historical and real-time data. Deephaven includes an intuitive user experience and visualization tools. It can ingest data from a variety of sources, apply computation and analysis algorithms to that data, and build rich queries, dashboards, and representations with the results.
Deephaven Community Core is an open version of Deephaven Enterprise, which functions as the data backbone for prominent hedge funds, banks, and financial exchanges.
Language | Server Application | Client Application |
---|---|---|
Python | Yes | Yes |
Java / Groovy | Yes | Yes |
C++ | No | Yes |
JavaScript | No | Yes |
gRPC | - | Yes |
This section is a quick start guide for running Deephaven from pre-built images. Almost all users will want to run Deephaven using pre-built images. It is the easiest way to deploy. For detailed instructions, see Launch Deephaven from pre-built images.
Developers interested in tinkering with and modifying source code should build from the source code. For detailed instructions on how to do this, see Build and launch Deephaven.
If you are not sure which of the two is right for you, use the pre-built images.
⚠️ On M1 Macs, you must build and launch from source code. A Docker-emulation bug leads to failures when running pre-built images.
Running Deephaven requires a few software packages.
Package | Version | OS |
---|---|---|
docker | ^20.10.8 | All |
docker-compose | ^1.29.0 | All |
Windows | 10 (OS build 20262 or higher) | Only Windows |
WSL | 2 | Only Windows |
You can check if these packages are installed and functioning by running:
docker version
docker-compose version
docker run hello-world
⚠️ On Windows, all commands must be run inside a WSL 2 terminal.
If any dependencies are missing or unsupported versions are installed, see Launch Deephaven from pre-built images for installation instructions.
A directory must be created to store files and mount points for your deployment. Here, we are using the deephaven-deployment
directory.
You will need to cd
into the deployment directory to launch or interact with the deployment.
mkdir deephaven-deployment
cd deephaven-deployment
⚠️ Commands in the following sections for interacting with a deployment must be run from the deployment directory.
Run the following commands to launch Deephaven for Python server applications.
curl https://raw.githubusercontent.com/deephaven/deephaven-core/main/containers/python/base/docker-compose.yml -O
docker-compose pull
docker-compose up -d
Run the following commands to launch Deephaven for Python server applications with the NLTK module pre-installed.
curl https://raw.githubusercontent.com/deephaven/deephaven-core/main/containers/python/NLTK/docker-compose.yml -O
docker-compose pull
docker-compose up -d
Run the following commands to launch Deephaven for Python server applications with the PyTorch module pre-installed.
curl https://raw.githubusercontent.com/deephaven/deephaven-core/main/containers/python/PyTorch/docker-compose.yml -O
docker-compose pull
docker-compose up -d
Run the following commands to launch Deephaven for Python server applications with the SciKit-Learn module pre-installed.
curl https://raw.githubusercontent.com/deephaven/deephaven-core/main/containers/python/SciKit-Learn/docker-compose.yml -O
docker-compose pull
docker-compose up -d
Run the following commands to launch Deephaven for Python server applications with the TensorFlow module pre-installed.
curl https://raw.githubusercontent.com/deephaven/deephaven-core/main/containers/python/TensorFlow/docker-compose.yml -O
docker-compose pull
docker-compose up -d
Run the following commands to launch Deephaven for Python server applications, with example data.
curl https://raw.githubusercontent.com/deephaven/deephaven-core/main/containers/python-examples/base/docker-compose.yml -O
docker-compose pull
docker-compose up -d
Run the following commands to launch Deephaven for Python server applications, with example data and NLTK.
curl https://raw.githubusercontent.com/deephaven/deephaven-core/main/containers/python-examples/NLTK/docker-compose.yml -O
docker-compose pull
docker-compose up -d
Run the following commands to launch Deephaven for Python server applications, with example data and PyTorch.
curl https://raw.githubusercontent.com/deephaven/deephaven-core/main/containers/python-examples/PyTorch/docker-compose.yml -O
docker-compose pull
docker-compose up -d
Run the following commands to launch Deephaven for Python server applications, with example data and SciKit-Learn.
curl https://raw.githubusercontent.com/deephaven/deephaven-core/main/containers/python-examples/SciKit-Learn/docker-compose.yml -O
docker-compose pull
docker-compose up -d
Run the following commands to launch Deephaven for Python server applications, with example data and TensorFlow.
curl https://raw.githubusercontent.com/deephaven/deephaven-core/main/containers/python-examples/TensorFlow/docker-compose.yml -O
docker-compose pull
docker-compose up -d
Run the following commands to launch Deephaven for Groovy / Java server applications.
curl https://raw.githubusercontent.com/deephaven/deephaven-core/main/containers/groovy/docker-compose.yml -O
docker-compose pull
docker-compose up -d
Run the following commands to launch Deephaven for Groovy / Java server applications, with example data.
curl https://raw.githubusercontent.com/deephaven/deephaven-core/main/containers/groovy-examples/docker-compose.yml -O
docker-compose pull
docker-compose up -d
The -d
option to docker-compose
causes the containers to run in the background, in detached mode. This option allows you to use your shell after Docker launches the containers.
Since the container is running detached, you will not see any logs. However, you can follow the logs by running:
docker-compose logs -f
Use CTRL+C to stop monitoring the logs and return to a prompt.
The deployment can be brought down by running:
docker-compose down
Deephaven's examples repository contains data sets that are useful when learning to use Deephaven. These data sets are used extensively in Deephaven's documentation and are needed to run some examples. Deephaven's examples repository contains documentation on the available data sets and how to manage them.
If you have chosen a deployment with example data, the example data sets will be downloaded. Production deployments containing your own data will not need the example data sets.
To upgrade a deployment to the latest example data, run:
docker-compose run examples download
To see what other example data management commands are available, run:
docker-compose run examples
If your deployment does not have example data, these commands will fail with ERROR: No such service
.
Once Deephaven is running, you can launch a Deephaven IDE in your web browser. Deephaven IDE allows you to interactively analyze data.
- If Deephaven is running locally, navigate to http://localhost:10000/ide/.
- If Deephaven is running remotely, navigate to
http://<hostname>:10000/ide/
, where<hostname>
is the address of the machine Deephaven is running on.
From the Deephaven IDE, you can perform your first query.
This script creates two small tables: one for employees and one for departments. It joins the two tables on the DeptID column to show the name of the department where each employee works.
from deephaven.TableTools import newTable, stringCol, intCol
from deephaven.conversion_utils import NULL_INT
left = newTable(
stringCol("LastName", "Rafferty", "Jones", "Steiner", "Robins", "Smith", "Rogers"),
intCol("DeptID", 31, 33, 33, 34, 34, NULL_INT),
stringCol("Telephone", "(347) 555-0123", "(917) 555-0198", "(212) 555-0167", "(952) 555-0110", None, None)
)
right = newTable(
intCol("DeptID", 31, 33, 34, 35),
stringCol("DeptName", "Sales", "Engineering", "Clerical", "Marketing"),
stringCol("Telephone", "(646) 555-0134", "(646) 555-0178", "(646) 555-0159", "(212) 555-0111")
)
t = left.join(right, "DeptID", "DeptName,DeptTelephone=Telephone")
- Help!
- Deephaven Community Slack
- Discussions
- Deephaven Community Core docs
- Java API docs
- Python API docs
This project has adopted the Contributor Covenant Code of Conduct. For more information see the Code of Conduct or contact opencode@deephaven.io with any additional questions or comments.
Copyright (c) Deephaven Data Labs. All rights reserved.
Provided under the Deephaven Community License.