{
  "schema_version": 2,
  "id": "integrate/redis-data-integration/reference/data-transformation/map",
  "title": "map",
  "url": "https://redis.io/docs/latest/integrate/redis-data-integration/reference/data-transformation/map/",
  "summary": "Map a record into a new output based on expressions",
  "aliases": [
    "/integrate/redis-data-integration/ingest/reference/data-transformation/map/"
  ],
  "tags": [
    "docs",
    "integrate",
    "rs",
    "rdi"
  ],
  "last_updated": "2026-09-18T16:47:14+01:00",
  "page_type": "content",
  "content_hash": "f8ca4b463b1c1fed11fcd110d9c75bfa1cdfd19e1c42e55a3deb3782af914861",
  "sections": [
    {
      "id": "overview",
      "title": "Overview",
      "role": "overview",
      "text": "Map a record into a new output based on expressions\n\n**Properties**\n\n| Name                          | Type               | Description                                                                                                                                                                                         | Required |\n| ----------------------------- | ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- |\n| [**expression**](#expression) | `object`, `string` | Expression<br/>                                                                                                                                                                                     | yes      |\n| **language**                  | `string`           | Language<br/>Enum: `\"jmespath\"`, `\"sql\"`<br/>                                                                                                                                                       | yes      |\n| **cache**                     | `object`           | Cache the result of the map expression. See [`cache`](https://redis.io/docs/latest/integrate/redis-data-integration/reference/data-transformation/cache) for the property list. **Flink processor only.**<br/> | no       |\n\n**Additional Properties:** not allowed\n\n**Example**\n\n[code example]\n\n**Example**\n\n[code example]\n\n<a name=\"expression\"></a>"
    },
    {
      "id": "expression-object",
      "title": "expression: object",
      "role": "content",
      "text": "Expression\n\n**No properties.**"
    }
  ],
  "examples": [
    {
      "id": "overview-ex0",
      "language": "yaml",
      "code": "source:\n  schema: dbo\n  table: emp\ntransform:\n  - uses: map\n    with:\n      expression:\n        first_name: first_name\n        last_name: last_name\n        greeting: >-\n          'Hello ' || CASE WHEN gender = 'F' THEN 'Ms.' WHEN gender = 'M' THEN 'Mr.'\n          ELSE 'N/A' END || ' ' || full_name\n        country: country\n        full_name: full_name\n      language: sql",
      "section_id": "overview"
    },
    {
      "id": "overview-ex1",
      "language": "yaml",
      "code": "source:\n  table: customer\ntransform:\n  - uses: map\n    with:\n      expression: |\n        {\n          \"CustomerId\": customer_id,\n          \"FirstName\": first_name,\n          \"LastName\": last_name,\n          \"Company\": company,\n          \"Location\":\n          {\n            \"Street\": address,\n            \"City\": city,\n            \"State\": state,\n            \"Country\": country,\n            \"PostalCode\": postal_code\n          },\n          \"Phone\": phone,\n          \"Fax\": fax,\n          \"Email\": email\n        }\n      language: jmespath",
      "section_id": "overview"
    }
  ]
}
