• Glossary
  • Support
  • Downloads
  • DataStax Home
Get Live Help
Expand All
Collapse All

DataStax Streaming Home

Streaming Learning

    • Pulsar IO
      • Sinks
        • Astra DB
        • Elasticsearch
        • JDBC PostgreSQL
        • JDBC MariaDB
        • JDBC Clickhouse
        • JDBC SQLite
        • Kafka
        • Kinesis
        • Snowflake
      • Sources
        • Data Generator
        • Debezium MongoDB
        • Debezium MySQL
        • Debezium Oracle
        • Debezium PostgreSQL
        • Debezium SQL Server
        • Kafka
        • Kinesis
    • Transform functions
      • Cast
      • Compute
      • Deploy transform function in sink
      • Drop fields
      • Drop
      • Flatten
      • Merge KeyValue
      • Unwrap KeyValue
    • Real-time Processing
      • Real-time data pipelines with DataStax Astra and Decodable
    • Pulsar extensions
      • Starlight for Kafka
      • Starlight for RabbitMQ
      • Starlight for JMS
  • Streaming Learning
  • Transform functions
  • Flatten
Edit this Page

Flatten

The flatten transform function converts structured, nested data into a new single-hierarchy-level structured data.
The names of the new fields are built by concatenating the intermediate level field names.
The step name is flatten, and the UserConfig is controlled here: UserConfig: {"steps": [{"type": "flatten"}]}.

Parameters:

Parameter Description

delimiter

The delimiter to use when concatenating the field names (default: _)

part

when used with KeyValue data, defines if the transform function is done on the key or on the value. If null or absent the transform function applies to both the key and the value.

Example

  1. Produce an AVRO message with the payload: {field1: {field11: value11, field12: value12}}.

    • AVRO

    • Result

    {"field1": {"field11": "value11", "field12": "value12"}}
    {"field1_field11": "value11", "field1_field12": "value12"}
  2. The function flattens the fields with the default delimiter between values, and outputs {field1_field11: value11, field1_field12: value12} to the output topic.

What’s next?

For more, see Transform Functions or the Pulsar documentation.

Drop Merge KeyValue

General Inquiries: +1 (650) 389-6000 info@datastax.com

© DataStax | Privacy policy | Terms of use

DataStax, Titan, and TitanDB are registered trademarks of DataStax, Inc. and its subsidiaries in the United States and/or other countries.

Apache, Apache Cassandra, Cassandra, Apache Tomcat, Tomcat, Apache Lucene, Apache Solr, Apache Hadoop, Hadoop, Apache Pulsar, Pulsar, Apache Spark, Spark, Apache TinkerPop, TinkerPop, Apache Kafka and Kafka are either registered trademarks or trademarks of the Apache Software Foundation or its subsidiaries in Canada, the United States and/or other countries.

Kubernetes is the registered trademark of the Linux Foundation.

landing_page landingpage