> For the complete documentation index, see [llms.txt](https://docs.zingg.ai/latest/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.zingg.ai/latest/stepbystep.md).

# Step-By-Step Guide

Instructions on how to install and use Zingg

## Step 1: Install

Installation instructions for docker, as well as GitHub release, are [here](/latest/stepbystep/installation.md). If you need to build from the sources or compile for a different flavor of Spark, check [compiling](/latest/stepbystep/installation.md#compiling-from-sources).

## Step 2: Plan For Hardware

Decide your hardware based on the [performance numbers](/latest/stepbystep/hardwaresizing.md).

## Step 3: Build The Config For Your Data

Zingg needs a configuration file that defines the data and what kind of matching is needed. You can create the configuration file by following the instructions [here](/latest/stepbystep/configuration.md).

## Step 4: Create Training Data

Zingg builds a new set of models(blocking and similarity) for every new schema definition(columns and match types). This means running the *findTrainingData* and *label* phases multiple times to build the training dataset from which Zingg will learn. You can read more [here](/latest/stepbystep/createtrainingdata.md).

## Step 5: Build & Save The Model

The training data in Step 4 above is used to train Zingg and build and save the models. This is done by running the *train* phase. Read more [here](/latest/stepbystep/train.md).

## Step 6: Voila, Let's Match!

It's now time to apply the model to our data. This is done by running the *match* or the *link* phases depending on whether you are matching within a single source or linking multiple sources respectively. You can read more about [matching](/latest/stepbystep/match.md) and [linking](/latest/stepbystep/link.md).

As long as your input columns and the field types are not changing, the same model should work and you do not need to build a new model. If you change the match type, you can continue to use the training data and add more labeled pairs on top of it.
