Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache kafka kafka connect file pulse将JSON文件读入kafka_Apache Kafka_Apache Kafka Connect - Fatal编程技术网

Apache kafka kafka connect file pulse将JSON文件读入kafka

Apache kafka kafka connect file pulse将JSON文件读入kafka,apache-kafka,apache-kafka-connect,Apache Kafka,Apache Kafka Connect,我正在尝试将json文件加载到kafka,并希望使用文件脉冲连接器 我的json文件如下所示: { "field1": "string1", "field2": "string2", "field3": 9.8, "lastField": "2020-09-03T18:00:00" } 问题连接器属性文件的读取器类应该是什么

我正在尝试将json文件加载到kafka,并希望使用
文件脉冲连接器

我的json文件如下所示:

{
    "field1": "string1",
    "field2": "string2",
    "field3": 9.8,
    "lastField": "2020-09-03T18:00:00"
}
问题连接器属性文件的读取器类应该是什么?我在下面

# File types
fs.scan.filters=io.streamthoughts.kafka.connect.filepulse.scanner.local.filter.RegexFileListFilter
file.filter.regex.pattern=.*\\.json$
#task.reader.class=io.streamthoughts.kafka.connect.filepulse.reader.WHATSHOULDitBE
我试图从文件pulse conenctor文档中找到答案,或者检查kafka connect文件pulse连接器的源代码,但失败了


使用Connect FilePulse读取JSON文件有两个选项:

  • io.streamthinks.kafka.connect.filepulse.reader.RowFileInputReader
    :如果文件每行包含一个JSON对象
  • io.streamthinks.kafka.connect.filepulse.reader.ByteArrayInputReader
    :如果文件包含单个JSON对象或数组
然后,您必须配置内置函数以实际解析字节[]或字符串行

配置示例:

"config" : {
    [...]
    "fs.scan.filters":"io.streamthoughts.kafka.connect.filepulse.scanner.local.filter.RegexFileListFilter",
    "file.filter.regex.pattern":".*\\.json$",
    "task.reader.class": "io.streamthoughts.kafka.connect.filepulse.reader.BytesArrayInputReader",
    "filters": "ParseJSON",
    "filters.ParseJSON.type":"io.streamthoughts.kafka.connect.filepulse.filter.JSONFilter",
    "filters.ParseJSON.source":"message",
    "filters.ParseJSON.merge":"true",
}

下面是一篇博客文章,展示了如何处理JSON文件:

您有两个选项可以使用Connect FilePulse读取JSON文件:

  • io.streamthinks.kafka.connect.filepulse.reader.RowFileInputReader
    :如果文件每行包含一个JSON对象
  • io.streamthinks.kafka.connect.filepulse.reader.ByteArrayInputReader
    :如果文件包含单个JSON对象或数组
然后,您必须配置内置函数以实际解析字节[]或字符串行

配置示例:

"config" : {
    [...]
    "fs.scan.filters":"io.streamthoughts.kafka.connect.filepulse.scanner.local.filter.RegexFileListFilter",
    "file.filter.regex.pattern":".*\\.json$",
    "task.reader.class": "io.streamthoughts.kafka.connect.filepulse.reader.BytesArrayInputReader",
    "filters": "ParseJSON",
    "filters.ParseJSON.type":"io.streamthoughts.kafka.connect.filepulse.filter.JSONFilter",
    "filters.ParseJSON.source":"message",
    "filters.ParseJSON.merge":"true",
}

下面是一篇博客文章,展示了如何处理JSON文件:

我决定现在使用shell脚本和kafka console producer来接收JSON。它必须是file pulse connecter吗?这里还有什么问题没有解决,或者只是将json字符串加载到kafkatopic中有问题吗?我决定现在使用shell脚本和kafka控制台生成器来接收json。它必须是file pulse connecter吗?这里还有什么问题没有解决,或者只是将json字符串加载到kafkatopic中有问题吗?