{
  "id": "data-transformation",
  "title": "Data transformation",
  "url": "https://redis.io/docs/latest/integrate/write-behind/data-transformation/",
  "summary": "",
  "tags": [
    "docs",
    "integrate",
    "rs",
    "rdi"
  ],
  "last_updated": "2026-04-01T08:10:08-05:00",
  "children": [
    {
      "id": "data-transformation-pipeline",
      "summary": "Learn how to transform data to Redis types",
      "title": "Data transformation pipeline",
      "url": "https://redis.io/docs/latest/integrate/write-behind/data-transformation/data-transformation-pipeline/"
    },
    {
      "id": "transformation-examples",
      "summary": "See examples of write-behind transform job configurations",
      "title": "Write-behind transformation examples",
      "url": "https://redis.io/docs/latest/integrate/write-behind/data-transformation/transformation-examples/"
    }
  ],
  "page_type": "content",
  "content_hash": "533c61a4447eaf42258c469b97a214ac0995e11af6c9f19ce8d27e8afe728537",
  "sections": [
    {
      "id": "overview",
      "title": "Overview",
      "role": "overview",
      "text": "The key functionality that Write-behind performs is mapping the data coming from [Debezium Server](https://debezium.io/documentation/reference/stable/operations/debezium-server.html) (representing a Source Database row data or row state change) into a Redis key with a value of [Hash]() or [JSON]().\nThere are two types of data transformations in Write-behind:\n\n1. By default, each source row is converted into one hash or one JSON key in Redis.\n  This conversion uses the Debezium schema-based conversion. The incoming data includes the schema and Write-behind uses a set of handlers to automatically convert each source column to a Redis Hash field or JSON type based on the Debezium type in the schema. See\n  [data type conversion]()\n  for a full reference on these conversions.\n\n1. If the user wants to add or modify this default mapping, Write-behind provides declarative data transformations. These transformations are represented in YAML files. Each file contains a job, which is a set of transformations per source table. See\n[declarative transformations]() for more information."
    },
    {
      "id": "more-info",
      "title": "More info",
      "role": "content",
      "text": ""
    }
  ],
  "examples": []
}
