Skip to content
Functional Programming with DataWeave cover image
Play overlay
Preview this course

Functional Programming with DataWeave
Uplatz

Self-paced videos, Lifetime access, Study material, Certification prep, Technical support, Course Completion Certificate

Summary

Price
£100 inc VAT
Or £33.33/mo. for 3 months...
Study method
Online, On Demand
Duration
30 hours · Self-paced
Qualification
No formal qualification
Certificates
  • Reed courses certificate of completion - Free
  • Uplatz Certificate of Completion - Free

Overview

Uplatz provides this in-depth course on DataWeave. It is a self-paced course consisting of video lectures. You will be awarded Course Completion Certificate at the end of the course.

DataWeave is a rich and extensive functional programming language designed for transforming data. It is a primary language for data transformation, as well as the expression language used to configure components and connectors. However, DataWeave is also available in other contexts, like as a command-line tool.

DataWeave allows users to easily perform a common use case for integration developers: read and parse data from one format, transform it, and write it out as a different format. As an instance, a DataWeave script could take in a simple CSV file and transform it into an array of complex JSON objects. It could take in XML and write the data out to a flat file format. DataWeave allows the developer to focus on the transformation logic instead of worrying about the specifics of reading, parsing, and writing specific data formats in a performant way.

When DataWeave receives data, it puts it through the reader. The reader’s job is to parse the input data into a canonical model. It then passes that model to the DataWeave script where it is used to generate the output, which is another canonical model. That last canonical model is passed into a writer. The writer is responsible for serializing the canonical model into the desired output data format.

DataWeave supports a variety of transformations: simple one-to-one, one-to-many or many-to-one mappings from an assortment of data structures, and can complete more elaborate mappings including normalization, grouping, joins, partitioning, pivoting and filtering. With DataWeave and Mule Expression Language (MEL), you can take your application’s data transformation ability to the next level.

You can also call upon the power of DataWeave language within other components by using Mule Expression Language DataWeave Functions.

The language is tightly integrated with Mule and Anypoint Studio. Use the Transform Message component, which allows you to use the language to query and transform data through DataWeave. Any mappings you perform through the graphical interface will be expressed in DataWeave code in real-time.

The DataWeave Language is a simple, powerful tool used to query and transform data inside of Mule. It can be implemented to graphically map fields by dragging one attribute to another. DataWeave also leverages its powerful object-oriented language features that’s specially designed to make writing transformations quick, without compromising maintainability.

DataWeave supports a variety of transformations: simple one-to-one, one-to-many or many-to-one mappings from an assortment of data structures, and can complete more elaborate mappings including normalization, grouping, joins, partitioning, pivoting and filtering. With DataWeave and Mule Expression Language (MEL), you can take your application’s data transformation ability to the next level.

Course Objectives

  • Write generalized and reusable transformations using variables, functions, DataWeave modules and mappings, and dynamic evaluation components.
  • Build up complex transformations from smaller testable steps.
  • Build more robust and testable functions and expressions using strong typing, match operators, error handling, and logging.
  • Create, transform, filter, combine, shuffle, select from, and reduce complex data structures that include nested arrays, objects, and arrays of objects.
  • Recursively replace or format every element or a list of elements in a nested schema.
  • Understand how to write transformation logic using mule DataWeave easily and efficiently
  • Learn to transform for various regularly used scenarios
  • Understand the best practices in writing DataWeave transformations

Course Overview

In this DataWeave course by Uplatz, you will learn DataWeave which is MuleSoft’s expression language for advanced data transformation and data integration. This course starts with the basic constructs and start writing your first DataWeave program. You will learn how to work with selectors to traverse through complex arrays and objects. With a practical application of DataWeave module functions like map, mapObject, filter, filterObject and reduce, you will then move to more advanced topics like writing our own mappings and modules, calling Java methods from DataWeave, handling exceptions and retrying on failures etc. We will also work between XML/JSON/CSV transformations so you will get a sense of various formats and functions available in DataWeave to handle these different formats.

Certificates

Reed courses certificate of completion

Digital certificate - Included

Will be downloadable when all lectures have been completed

Uplatz Certificate of Completion

Digital certificate - Included

Course Completion Certificate by Uplatz

Curriculum

1
section
60
lectures
29h 59m
total
    • 1: Introduction to DataWeave with Examples Preview 2:35:16
    • 2: DataWeave Basics - part 1 28:01
    • 3: DataWeave Basics - part 2 21:27
    • 4: DataWeave Basics - part 3 16:46
    • 5: Brackets in DataWeave 44:50
    • 6: Pluck Operator 20:51
    • 7: Descendent Operator 15:40
    • 8: orderBy 20:28
    • 9: Rename Keys in DataWeave 25:30
    • 10: DataWeave Selectors - part 1 09:38
    • 11: DataWeave Selectors - part 2 18:22
    • 12: DataWeave Selectors - part 3 31:01
    • 13: Attribute Selector 13:08
    • 14: splitBy 08:20
    • 15: Try in DataWeave 40:45
    • 16: DataWeave Functions - part 1 23:11
    • 17: DataWeave Functions - part 2 32:24
    • 18: DataWeave Functions - part 3 17:46
    • 19: DataWeave Functions - part 4 14:29
    • 20: Useful Functions 2:47:29
    • 21: Ten Quick DataWeave Functions 54:54
    • 22: keysOf etc 07:37
    • 23: Parenthesis and If-Else to Print Specific Data Items 34:16
    • 24: Curly Brackets and Parenthesis in DataWeave 1:49:03
    • 25: Array and Object Manipulation 52:40
    • 26: Arrays deep-dive 43:31
    • 27: Array Functions Preview 31:59
    • 28: Do 45:54
    • 29: If-Else - part 1 21:56
    • 30: If-Else - part 2 29:39
    • 31: Iteration 17:38
    • 32: Map in DataWeave 16:40
    • 33: Simple Update 14:29
    • 34: New Update - part 1 07:35
    • 35: New Update - part 2 29:52
    • 36: New Update - part 3 30:21
    • 37: DW Update 15:58
    • 38: Conditional Update - part 1 21:36
    • 39: Conditional Update - part 2 05:36
    • 40: Update deep dive - part 1 22:53
    • 41: Update deep dive - part 2 04:34
    • 42: Filter 34:42
    • 43: joinBy 09:58
    • 44: Match Operator - part 1 1:09:25
    • 45: Match Operator - part 2 42:59
    • 46: Match Operator - part 3 19:15
    • 47: Logical Operators 06:51
    • 48: Mathematical Operators 33:01
    • 49: Scoped Variables 30:12
    • 50: Upserting - part 1 09:44
    • 51: Upserting - part 2 06:19
    • 52: Upserting - part 3 13:30
    • 53: Recursion - part 1 29:59
    • 54: Recursion - part 2 09:04
    • 55: Reduce - part 1 37:09
    • 56: Reduce - part 2 09:38
    • 57: XML Processing 47:12
    • 58: Array to Numbers Function 08:19
    • 59: Flatten 12:32
    • 60: Functions Sheet 24:32

Course media

Description

Course Highlights

1. Learn advanced DataWeave 2.0 skills for a successful enterprise data transformation and data integration career using AnyPoint Platform.

2. Apply useful Core, String, Array, Object, and Runtime module functions.

3. Map, MapObject for working effectively with complex array and object structures.

4. Using recursion and tail recursion concepts for robust transformations.

5. Write reusable custom mappings and custom modules.

6. Import input metadata, create custom Java Output metadata model and perform input/output mapping via the UI.

7. Read and parse XML/JSON content as a string, from a classpath resource file or http endpoint.

8. Write reusable Java static and instance methods for advanced DataWeave transformations.

9. Advanced exception handling including nested retry on exception and standardized error model to consumer.

10. Advanced concepts with XML/JSON/CSV transformations.

Functional Programming with DataWeave - Course Syllabus

  1. DATAWEAVE (DW) INTRODUCTION

  2. EXAMPLES OF DATAWEAVE

  3. DW OPERATORS

  4. MERGE FIELD FROM DIFFERENT OBJECT OPERATORS AND UPDATE OPERATOR

  5. DW VARIABLES, CONDITIONS AND FUNCTIONS

  6. VARS

  7. FLOW CONTROL

  8. DW PATTERN MATCHING

  9. DW FUNCTIONS

  10. MAP-AND-PLUCK-OPERATOR

  11. MAP-AND-MAPOBJECT

  12. FLATTEN FUNCTION

  13. PLUCK OPERATOR

  14. DW SELECTORS

  15. JOINBY AND SPLITBY

  16. DATAWEAVE FUNCTION CHEAT SHEET

  17. DATAWEAVE OPERATORS

  18. TYPES OF ERRORS AND ESC CHARACTERS

  19. ++ on DATES

  20. DATAWEAVE BASIC TRANSFORMATION

  21. DW DATA TYPES

  22. SINGLE MULTI SELECTORS EXAMPLE

  23. DW FILTER OPERATOR

  24. ATTRIBUTE AND DESCENDANT SELECTOR

  25. REDUCE AND ORDERBY FUNCTIONS

  26. LOGICAL AND APPEND AND PREPEND OPERATORS

  27. INDEXOF, KEYSOF, MINBY, MAXBY, REPLACE IN DW

  28. SPLITAT, SPLITWHERE, TAKEWHILE, SUMOF

  29. GEOMETRIC AND TIME OPERATIONS

  30. GLOBAL VARIABLES AND DW FUNCTIONS

  31. FUNCTIONS OVERLOADING AND LAMBDA EXPRESSIONS

  32. HANDLING TRANSFORMATIONS IN DW

  33. DEFAULT VALUES IN DATAWEAVE

  34. RENAME JSON KEYS

  35. TRANSFORM NESTED STRUCTURES TO FLAT
  36. DATA ORGANIZATION USING DATAWEAVE

At the end of the course, you will be able to:

  • Write generalized and reusable transformations using variables, functions, DataWeave modules.
  • Use the DataWeave Playground to test and author DataWeave code.
  • Build complex transformations from smaller testable steps.
  • Build more robust and testable functions and expressions using strong typing, match operators, error handling, and logging.
  • Create, transform, filter, combine, shuffle, select from, and reduce complex data structures that include nested arrays, objects, and arrays of objects.
  • Recursively replace or format every element or a list of elements in a nested schema.
  • Reduce arrays to other data structures or data types and calculate key performance indicators.

Who is this course for?

Everyone

Requirements

Passion to learn and succeed!

Career path

  • Mulesoft Developer
  • Mule Engineer
  • Software Engineer - Anypoint/DataWeave
  • Software Developer
  • Functional Programming Developer
  • Platform Architect
  • Application Developer
  • Data Architect
  • Mule 4 Developer/Architect
  • Data Engineer

Questions and answers

Currently there are no Q&As for this course. Be the first to ask a question.

Reviews

Currently there are no reviews for this course. Be the first to leave a review.

FAQs

Interest free credit agreements provided by Zopa Bank Limited trading as DivideBuy are not regulated by the Financial Conduct Authority and do not fall under the jurisdiction of the Financial Ombudsman Service. Zopa Bank Limited trading as DivideBuy is authorised by the Prudential Regulation Authority and regulated by the Financial Conduct Authority and the Prudential Regulation Authority, and entered on the Financial Services Register (800542). Zopa Bank Limited (10627575) is incorporated in England & Wales and has its registered office at: 1st Floor, Cottons Centre, Tooley Street, London, SE1 2QG. VAT Number 281765280. DivideBuy's trading address is First Floor, Brunswick Court, Brunswick Street, Newcastle-under-Lyme, ST5 1HH. © Zopa Bank Limited 2026. All rights reserved.