如何配置kafka-connect-spooldir以使用json数组?

时间:2018-10-31 14:54:25

标签: apache-kafka kafka-consumer-api apache-kafka-connect

我已根据https://github.com/jcustenborder/kafka-connect-spooldir上的说明将kafka-connect-spooldir配置为使用包含JSON对象的文件。这将消耗包含一个或多个JSON对象的文件。现在如何配置它以使用包含JSON数组的文件呢?

这是我当前的键和值模式:

key.schema={"name": "com.example.users.UserKey", "type": "STRUCT", "isOptional": false, "fieldSchemas": {"id": {"type": "INT64", "isOptional": false }}}
value.schema={"name": "com.example.users.User", "type": "STRUCT", "isOptional": false, "fieldSchemas": {"id": {"type": "INT64", "isOptional": false}, "test": {"type": "STRING", "isOptional": true}}}

以下是我的数据示例:

{
  "id": 10,
  "test": "Carla Howe"
}
{
  "id": 1,
  "test": "Gayle Becker"
}

这是我希望数据显示的样子:

[
  {
    "id": 10,
    "test": "Carla Howe"
  },
  {
    "id": 1,
    "test": "Gayle Becker"
  }
]

我只是尝试将第一种类型从STRUCT更改为ARRAY,但这会引发NPE“ valueSchema不能为null”。

有人可以指出正确的方向或提供例子吗?

1 个答案:

答案 0 :(得分:0)

根据documentation,有一个SchemaGenerator工具可以运行以生成示例数据的模式。