A collection of libraries, a pipeline plugin, and a CDAP service for performing data cleansing, transformation, and filtering using a set of data manipulation instructions (directives). These instructions are either generated using an interative visual tool or are manually created.
More here on upcoming features.
User Defined Directives, also known as UDD, allow you to create custom functions to transform records within CDAP DataPrep or a.k.a Wrangler. CDAP comes with a comprehensive library of functions. There are however some omissions, and some specific cases for which UDDs are the solution. Additional information on how you can build your custom directives here.
A new capability that allows CDAP Administrators to restrict the directives that are accessible to their users. More information on configuring can be found here
Videos and Screencasts are best way to learn, so we have compiled simple, short screencasts that shows some of the features of Data Prep. Additional videos can be found here
These directives are currently available:
| Directive | Description |
|---|---|
| Parsers | |
| JSON Path | Uses a DSL (a JSON path expression) for parsing JSON records |
| Parse as AVRO | Parsing an AVRO encoded message - either as binary or json |
| Parse as AVRO File | Parsing an AVRO data file |
| Parse as CSV | Parsing an input record as comma-separated values |
| Parse as Date | Parsing dates using natural language processing |
| Parse as Excel | Parsing excel file. |
| Parse as Fixed Length | Parses as a fixed length record with specified widths |
| Parse as HL7 | Parsing Health Level 7 Version 2 (HL7 V2) messages |
| Parse as JSON | Parsing a JSON object |
| Parse as Log | Parses access log files as from Apache HTTPD and nginx servers |
| Parse as Protobuf | Parses an Protobuf encoded in-memory message using descriptor |
| Parse as Simple Date | Parses date strings |
| Parse XML To JSON | Parses an XML document into a JSON structure |
| Parse as Currency | Parses a string representation of currency into a number. |
| Parse as Datetime | Parses strings with datetime values to CDAP datetime type |
| Output Formatters | |
| Write as CSV | Converts a record into CSV format |
| Write as JSON | Converts the record into a JSON map |
| Write JSON Object | Composes a JSON object based on the fields specified. |
| Format as Currency | Formats a number as currency as specified by locale. |
| Transformations | |
| Changing Case | Changes the case of column values |
| Cut Character | Selects parts of a string value |
| Set Column | Sets the column value to the result of an expression execution |
| Find and Replace | Transforms string column values using a "sed"-like expression |
| Index Split | (Deprecated) |
| Invoke HTTP | Invokes an HTTP Service (Experimental, potentially slow) |
| Quantization | Quantizes a column based on specified ranges |
| Regex Group Extractor | Extracts the data from a regex group into its own column |
| Setting Character Set | Sets the encoding and then converts the data to a UTF-8 String |
| Setting Record Delimiter | Sets the record delimiter |
| Split by Separator | Splits a column based on a separator into two columns |
| Split Email Address | Splits an email ID into an account and its domain |
| Split URL | Splits a URL into its constituents |
| Text Distance (Fuzzy String Match) | Measures the difference between two sequences of characters |
| Text Metric (Fuzzy String Match) | Measures the difference between two sequences of characters |
| URL Decode | Decodes from the application/x-www-form-urlencoded MIME format |
| URL Encode | Encodes to the application/x-www-form-urlencoded MIME format |
| Trim | Functions for trimming white spaces around string data |
| Encoders and Decoders | |
| Decode | Decodes a column value as one of base32, base64, or hex |
| Encode | Encodes a column value as one of base32, base64, or hex |
| Unique ID | |
| UUID Generation | Generates a universally unique identifier (UUID) .Recommended to use with Wrangler version 4.4.0 and above due to an important bug fix CDAP-17732 |
| Date Transformations | |
| Diff Date | Calculates the difference between two dates |
| Format Date | Custom patterns for date-time formatting |
| Format Unix Timestamp | Formats a UNIX timestamp as a date |
| DateTime Transformations | |
| Current DateTime | Generates the current datetime using the given zone or UTC by default |
| Datetime To Timestamp | Converts a datetime value to timestamp with the given zone |
| Format Datetime | Formats a datetime value to custom date time pattern strings |
| Timestamp To Datetime | Converts a timestamp value to datetime |
| Lookups | |
| Catalog Lookup | Static catalog lookup of ICD-9, ICD-10-2016, ICD-10-2017 codes |
| Table Lookup | Performs lookups into Table datasets |
| Hashing & Masking |
$ claude mcp add wrangler \
-- python -m otcore.mcp_server <graph>