Used for identifying the structure of data. Producers have an output schema to define what the source data will look like in the data stream. Consumers have an input schema to define what is read from the data stream. If the input and output schemas are the same, the schema need only be defined once.