Skip to main content
enguias
Bronze ⭐️⭐️⭐️
January 14, 2025
Solved

Transform a float value into integer using JoltTransformJSON in NiFi

Hello! 

I'm trying to convert float values on my flow files into integers. My Jolt Specification looks like this:

[
{
"operation": "modify-default-beta",
"spec": {
"progress": "=toInteger",
"setup_value": "=toDouble",
"proposed_setup_cost": "=toDouble",
"real_setup_cost": "=toDouble",
"invoiced_value": "=toDouble",
"last_recognized_value": "=toDouble",
"starting_date": ["=toDateTime", "yyyy-MM-dd HH:mm:ss", "coerceOrNull"],
"last_progress_change": ["=toDateTime", "yyyy-MM-dd HH:mm:ss", "coerceOrNull"],
"end_date": ["=toDateTime", "yyyy-MM-dd HH:mm:ss", "coerceOrNull"]
}
}
] 

But somehow my "progress" value is still being outputted like a float. If I have the value 100.0, it is not transformed to 100, for example. I also tried using "=toInteger(@(1,value))", but that also didn't worked.

JOLTEnjoyer
Gold ⭐️
January 20, 2025

Hi @enguias 

Try using "modify-overwrite-beta" instead of the "modify-default-beta", it should work.

3 replies

DianaTorres
Community Manager
Community Manager
January 15, 2025

@enguias Welcome to the Cloudera Community!

To help you get the best possible solution, I have tagged our NiFi experts @MattWho @SAMSAL  who may be able to assist you further.

Please keep us updated on your post, and we hope you find a satisfactory solution to your query.

Translate
Regards, Diana Torres, Senior Community Moderator
JOLTEnjoyer
Gold ⭐️
January 20, 2025

Hi @enguias 

Try using "modify-overwrite-beta" instead of the "modify-default-beta", it should work.

Translate
DianaTorres
Community Manager
Community Manager
January 28, 2025

@enguias Has the reply helped resolve your issue? If so, please mark the appropriate reply as the solution, as it will make it easier for others to find the answer in the future.  Thanks.

Translate
Regards, Diana Torres, Senior Community Moderator