如何编写NiFi JoltTransformJson的JOLT Spec实现JSON转DataFrame结构
适用于NiFi JoltTransformJson的JOLT Spec实现方案
转换需求说明
- 输入:扁平化JSON对象,字段值为字符串格式的数字
- 输出:包含
columns(字段名数组)和data(嵌套数值数组)的结构化JSON
输入JSON示例
{ "a": "1", "b": "2", "c": "3", "d": "4" }
期望输出JSON示例
{ "columns": ["a","b","c","d"], "data": [[1,2,3,4]] }
最终JOLT Spec
[ { "operation": "shift", "spec": { "*": { "$": "columns[]", "@": "data[0][]" } } }, { "operation": "modify-overwrite-beta", "spec": { "data": { "*": { "*": "=toInteger" } } } } ]
Spec逻辑说明
- 第一层
shift操作:- 遍历输入JSON的所有顶层字段,用
$提取字段名写入columns数组 - 用
@提取字段对应的值,写入data数组的第一个嵌套子数组中
- 遍历输入JSON的所有顶层字段,用
- 第二层
modify-overwrite-beta操作:- 将
data嵌套数组内的字符串格式数字转换为整数类型,匹配输出要求
- 将
内容的提问来源于stack exchange,提问作者Dmitry
相关产品推荐
相关产品推荐

