Running Materialize on Windows Subsystem for Linux

For those not familiar with the company and its product, Materialize offers a data warehouse database engine optimized for streaming.

You can check out an intro video here from Frank McSherry, their Chief Scientist (and also former member of Microsoft Research who worked on Naiad):

You can also checkout their product page here.

In this post, I will explain how to run Materialize Community edition on Windows using Windows Subsystem for Linux.

Installing materialized

  1. If not already enabled, make sure you have Windows Subsystem for Linux installed by going to Turn Windows features on or off
  1. You may need to restart your computer after enabling it
  2. Once that done, you can head over to the Microsoft Store to install your favorite Linux distro. In my case, I picked Ubuntu.
  1. After the installation is complete, you now launch Ubuntu from the Start Menu
  2. Once you have the Ubuntu terminal up and running, you can sudo to root using: sudo su –
  3. To install Materialize, simply run the following command
curl -L https://downloads.mtrlz.dev/materialized-v0.1.1-x86_64-unknown-linux-gnu.tar.gz | tar -xzC /usr/local --strip-components=1
  1. Once that’s completed, you should now be able to start materialized using:
/usr/local/bin/materialized
  1. If everything went well, you should see the following:

Connecting to Materialize

In order to install the mzcli client, you will need to run the following in another Ubuntu terminal:

apt get update
apt install python3-pip
apt install unzip
apt install postgresql-server-dev-10
apt-get install python3-venv

curl -L https://github.com/MaterializeInc/mzcli/archive/mtrlz.zip > mtrlz.zip
unzip mtrlz.zip

pip3 install pipx

python3 -m pipx ensurepath
export PATH="$HOME/.local/bin:$PATH"

pipx install ./mzcli-mtrlz

If everything installed properly, you should be able to get the following text client:

You should now be all set to start streaming data to materialized! Here’s more information on how to start using Materialize:

Getting Started

If you would like to know more about Windows Subsystem for Linux, check out the following page:

Windows Subsystem for Linux Documentation

Happy streaming!

2 thoughts on “Running Materialize on Windows Subsystem for Linux

    • Fair point! I had to use the alternate method as our internal proxy wouldn’t let me fetch the package list over https for some reason. I tried again today but getting the package list over http apt update seems to work correctly.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.