blob: 8848ae310d65dd3609704e5070b78e051be8ac83 [file] [log] [blame] [view]
---
sidebar_position: 1
title: "Docker Demo"
---
# Building interoperable tables using OneTable
This demo walks you through a fictional use case and the steps to add interoperability between table formats using OneTable.
For this purpose, a self-contained data infrastructure is brought up as Docker containers within your computer.
## Pre-requisites
* Install Docker in your local machine
* Clone [OneTable GitHub repository](https://github.com/onetable-io/onetable)
:::note NOTE:
This demo was tested in both x86-64 and AArch64 based macOS operating systems
:::
## Setting up Docker cluster
After cloning the OneTable repository, change directory to `demo` and run the `start_demo.sh` script.
This script builds OneTable jars required for the demo and then spins up docker containers to start a Jupyter notebook
with Scala interpreter, Hive Metastore, Presto and Trino.
```shell md title="shell"
cd demo
./start_demo.sh
```
### Accessing Services
#### Trino
You can access the local Trino container by running `docker exec -it trino trino`
#### Presto
You can access the local Presto container by running `docker exec -it presto presto-cli --server localhost:8082`
#### Jupyter Notebook
To access the notebook, look for a log line during startup that contains `To access the server, open this file in a
browser: ... Or copy and paste one of these URLs: ...` and use the link that starts with http://127.0.0.1:8888/
to open the notebook in your browser.
The demo is located at `work/demo.ipynb`. The notebook also includes helpful markdowns explaining the steps.