A self-contained Docker Application that provides a set of Jupyter Notebooks and associated utilities to work with Java and Java AI Libraries
This repository provides a Docker-based environment with Jupyter notebooks demonstrating how to create your own Data Science/ML/GenAI learning platform
git clone git@github.com:bsbodden/data-science-with-java.git
cd data-science-with-java.gitThis will start two containers:
- jupyter: A Jupyter notebook server with Java and Python kernels
- redis-java: A Redis instance bundled with RedisInsight GUI
docker compose up- Monitor the Docker logs for the Jupyter server startup message
- Look for a URL like
http://127.0.0.1:8888/lab?token=<your_token> - Open this URL in your browser
- Navigate to the notebooks directory and open one of the example notebooks
Java dependencies can be added directly in the notebooks using the %maven magic command:
%maven group:artifact:versionFor example:
%maven org.apache.commons:commons-math3:3.6.1- Simply create new
.ipynbfiles in thenotebooksdirectory - They will automatically be available in the Jupyter interface
- No configuration changes needed
RedisInsight is a visual tool for Redis that provides an intuitive interface to:
- Browse and interact with your Redis data
- Run queries and commands
- Analyze memory usage
- Monitor performance metrics
To access RedisInsight:
- Once the containers are running, open your browser to http://localhost:8001
- On first launch, you'll need to connect to your Redis instance
- Use the following connection details:
- Host: redis
- Port: 6379
- Username: default
- Password: redis123 (if you kept the default from docker-compose.yml)
RedisInsight makes it easy to visualize and explore the vector data you'll be working with in the notebooks.
- Uses Java 21 for all Java code execution
- Built on the Jupyter Docker Stacks images
- Includes both Java and Python kernels
- Mounts local directories to persist your work