Skip to main content

Building interoperable tables using Apache XTable™ (Incubating)

This demo walks you through a fictional use case and the steps to add interoperability between table formats using Apache XTable™. For this purpose, a self-contained data infrastructure is brought up as Docker containers within your computer.



This demo was tested in both x86-64 and AArch64 based macOS operating systems

Setting up Docker cluster

After cloning the Apache XTable™ (Incubating) repository, change directory to demo and run the script. This script builds Apache XTable™ (Incubating) jars required for the demo and then spins up docker containers to start a Jupyter notebook with Scala interpreter, Hive Metastore, Presto and Trino.

cd demo

Accessing Services


You can access the local Trino container by running docker exec -it trino trino


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 to open the notebook in your browser.

The demo is located at work/demo.ipynb. The notebook also includes helpful markdowns explaining the steps.