You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Rob Jensen (Jira)" <ji...@apache.org> on 2026/01/15 22:13:00 UTC

[jira] [Created] (NIFI-15474) Support timestamp truncation in RecordPath DSL

Rob Jensen created NIFI-15474:
---------------------------------

             Summary: Support timestamp truncation in RecordPath DSL
                 Key: NIFI-15474
                 URL: https://issues.apache.org/jira/browse/NIFI-15474
             Project: Apache NiFi
          Issue Type: New Feature
            Reporter: Rob Jensen


I'd like to have the ability to truncate a unix timestamp in NiFi with the RecordPath DSL - for example, if I have a number with value {{1768430253}} I'd like to be able to truncate it to, say, the nearest minute {{{}1768430220{}}}, or any other interval. This operation should support any unix timestamp format (seconds, millis, micros or nanos). It should accept a string or number and return a number.

I propose implementing this by adding a small family of functions that can be composed by the user to implement the truncation logic:
 * `multiply(n, m)` - returns the product n * m
 * `divide(n, m)` - return the quotient n / m
 * `toNumber(v)` - return the result of casting v to number

These functions should behave like their equivalents in the expression language

For a sample use case, consider a `PartitionRecord` processor that receives flowfiles with a long `timestamp` field in unix seconds format. I want to be able to emit one flowfile per five minute bucket with the following RecordPath expression:
{code:java}
multiply( toNumber( divide( /timestamp, 300 ) ), 300 ){code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)