JsonPathReader
描述:
解析JSON记录并计算每个JSON对象的用户设置的JSONPath值。当读取器期望每个记录都是结构良好的JSON格式, 则数据流中将包含许多结构良好的JSON数组或JSON对象记录。如果是数组,该数组中的每个元素都被视为单独的记录。用户自定义用于抽取特殊字段的JSON对象的属性。 任何JSON不能通过JSONPath抽取的字段,最终都不会返回到JSON记录中。
标签:
json, jsonpath, record, reader, parser, 记录, 解析
参数:
如下列表中,必填参数则标识为加粗. 其他未加粗参数,则表示为可选参数。表中同时提到参数默认值设置, 并且 参数还支持 表达式语言.
名字 | 默认值 | 允许值列表 | 描述 |
---|---|---|---|
Schema访问策略 | Infer Schema | - 使用 'Schema名字' 属性 - 使用 'Schema内容' 属性 - HWX Schema引用属性 - HWX Schema编码内容引用 - Confluent Schema编码内容引用 - Infer Schema | 指定如何从数据中获得Schema信息 |
Schema注册服务 | 控制器服务API: SchemaRegistry 实现: AvroSchemaRegistry ConfluentSchemaRegistry HortonworksSchemaRegistry | 指定Schema注册服务 | |
Schema名字 | ${schema.name} | 指定从Schema注册服务中获取相应Schema的名字 支持表达式语言 (支持流属性和变量) | |
Schema版本 | 指定从Schema注册服务中获取相应Schema的版本,如果未指定,则表示最新版本的Schema 支持表达式语言 (支持流属性和变量) | ||
Schema分支 | 当从Schema注册服务中获取相应Schema时,需指定的Schema分支名字。如果指定的<Schema注册服务>不支持分支管理,则该参数将被忽略。 支持表达式语言 (支持流属性和变量) | ||
Schema内容 | ${avro.schema} | Avro格式的Schema内容 支持表达式语言 (支持流属性和变量) | |
日期格式 | 指定当读写日期(Date)字段时使用的格式,如果不指定,默认将假定日期字段为基于纪元的毫秒数(即格林威治时间1970年1月1号午夜)。如果指定,则日期格式必须匹配Java 简单日期格式规范 (比如 MM/dd/yyyy, 具体为 01/01/2017)。 | ||
时间格式 | 指定当读写时间(Time)字段时使用的格式。如果不指定,默认将假定日期字段为基于纪元的毫秒数(即格林威治时间1970年1月1号午夜)。 如果指定,则日期格式必须匹配Java 简单日期格式规范 (比如 HH:mm:ss, 具体为 18:04:15)。 | ||
时间戳格式 | 指定当读写时间戳(Timestamp)字段时使用的格式。如果不指定,默认将假定日期字段为基于纪元的毫秒数(即格林威治时间1970年1月1号午夜)。 如果指定,则日期格式必须匹配Java 简单日期格式规范 (比如 MM/dd/yyyy HH:mm:ss, 具体为01/01/2017 18:04:15)。 |
动态参数:
名字 | 值 | 描述 |
---|---|---|
The field name for the record. | A JSONPath Expression that will be evaluated against each JSON record. The result of the JSONPath will be the value of the field whose name is the same as the property name. | 用户自定义用于抽取特殊字段的JSON对象的属性。 不支持表达式语言 |
状态管理:
该组件不保存状态。
限制:
该组件没有限制
系统资源考量:
未提供。