json - 在 Nifi 中转换/舍入十进制数
问题描述
我正在尝试将 JSON 文件(使用 Apache NiFi)发布到仅接受最多 10 位小数的值的应用程序上。
JSON格式:
{
"timestamp" : "2016-04-17",
"zoom" : 13,
"dc" : 100,
"CloudCoverPercentage" : 74.707,
"mean" : 0.18735192480231655,
"num" : 127,
"FirstQuartile" : 0.142807444773004,
"median" : 0.17882054533925174,
"max" : 0.32004310344827586,
"min" : 0.059890294413970674,
"ThirdQuartile" : 0.22603810187853218,
"StandardDeviation" : 0.06846369990524923
}
问题:如何在 Apache Nifi 中转换每个十进制值,使其只有 10 个小数位?我在某处读到 JoltTransformJSON可用于此。我如何为这种操作编写 Jolt Spec?
解决方案
您可以使用UpdateRecord
( jsonReader
Infer Schema), JsonSetWriter
(Inherit Schema)
输入:
{
"timestamp" : "2016-04-17",
"zoom" : 13,
"dc" : 100,
"CloudCoverPercentage" : 74.707,
"mean" : 0.18735192480231655,
"num" : 127,
"FirstQuartile" : 0.142807444773004,
"median" : 0.17882054533925174,
"max" : 0.32004310344827586,
"min" : 0.059890294413970674,
"ThirdQuartile" : 0.22603810187853218,
"StandardDeviation" : 0.06846369990524923
}
输出:
[ {
"timestamp" : "2016-04-17",
"zoom" : 13,
"dc" : 100,
"CloudCoverPercentage" : 74.707,
"mean" : 0.18735192480231655,
"num" : 127,
"FirstQuartile" : 0.142807444773004,
"median" : 0.1788205453,
"max" : 0.32004310344827586,
"min" : 0.059890294413970674,
"ThirdQuartile" : 0.22603810187853218,
"StandardDeviation" : 0.06846369990524923
} ]
推荐阅读
- python - 如何解决子图中的线不可见
- reactjs - 使用 React 测试库和 Mock Service Worker 测试 React 模式的最佳实践?
- opencv - OpenCV 中是否有等效功能或 skimage.feature.peak_local_max 的实现?
- mysql - 无延迟的实时数据处理
- python - 为 lag_plot 创建子图
- c++ - 静态 constinit 成员变量是否与非类型模板参数相同?
- mysql - 使用 php 或/和 mysql 计算多边形的平方米面积
- c# - C# Selenium - 无法定位元素
- javascript - 显示已压缩的大块视频
- swift - iOS 应用程序中的 AzureAD 身份验证问题