Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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
Kafka到presto查询原始json主题_Json_Apache Kafka_Presto - Fatal编程技术网

Kafka到presto查询原始json主题

Kafka到presto查询原始json主题,json,apache-kafka,presto,Json,Apache Kafka,Presto,我将一个JSON文件推送到一个Kafka主题中,在presto中连接该主题,并将JSON数据结构化到一个可查询的表中 我面临的问题是,表中没有显示任何实体,即使主题中填充了一些数据。 这就是展示的东西 presto:default> select * from test; kafka_key | host | method | endpoint | protocol | status | response_time | uuid -----------+------+--------+-

我将一个JSON文件推送到一个Kafka主题中,在presto中连接该主题,并将JSON数据结构化到一个可查询的表中

我面临的问题是,表中没有显示任何实体,即使主题中填充了一些数据。 这就是展示的东西

presto:default> select * from test;
 kafka_key | host | method | endpoint | protocol | status | response_time | uuid
-----------+------+--------+----------+----------+--------+---------------+-----
(0 rows)
在包含映射文件之前,它显示了JSON,我可以查询field\u消息 我哪里做错了?它在描述文件中吗

JSON看起来像这样

{"host":"17.33.69.92","method":"GET","endpoint":"\/health\/info?access=afbadb4ff1435c0ed1b2976439a90cc4","protocol":"HTTP\/1.1","status":200,"response_time":3,"uuid":"892a1847-0f98-4327-8f56-3135915e96aa","time":"2020-02-11 00:00:01"}
etc/kafka中的default.test.json文件如下:

{
    "tableName":"test",
    "schemaName":"default",
    "topicName":"default.test",
    "key":{
        "dataFormat":"raw",
        "fields":[
            {
                "name": "kafka_key",
                "dataFormat": "LONG",
                "type": "BIGINT",
                "hidden": "false"
            }
        ]
    },
    "message":{
        "dataFormat": "json",
        "fields": [
            {
                "name": "host",
                "mapping": "host",
                "type": "VARCHAR"
            },
            {
                "name": "method",
                "mapping": "method",
                "type": "CHAR"
            },
            {
                "name": "endpoint",
                "mapping": "endpoint",
                "type": "VARCHAR"
            },
            {
                "name": "protocol",
                "mapping": "protocol",
                "type": "VARCHAR"
            },
            {
                "name": "status",
                "mapping": "status",
                "type": "INTEGER"
            },
            {
                "name": "response_time",
                "mapping": "response_time",
                "type": "INTEGER"
            },
            {
                "name": "uuid",
                "mapping": "uuid",
                "type": "VARCHAR"
            },
            {
                "name": "time",
                "mapping": "time",
                "type": "TIMESTAMP"
            }
        ]
    }
}
我以此作为参考

多谢各位

编辑1: 表和数据均已提供。

您可以分享您正在使用的Presto版本吗?您可以启用更多日志记录以获取更多有关发生情况的详细信息,为此,在PrestoSql 3xx中,您可以将
io.PrestoSql.plugin.kafka=DEBUG
添加到您的
log.properties
中。您可以运行show create table并查看该位置是否存在实际数据吗?@kokosing我有presto版本0.230。我尝试了日志部分,最初我在kafka.properties文件中有其他主题名称,因此有错误日志。我再次检查以确保主题名称已删除,并且属性文件与上面的文件完全相同。上一个错误是
错误注入构造函数java.lang.IllegalArgumentException:具有相同键的多个条目:
,但此后server.log文件中没有记录任何错误。问题到底出在哪里?@bdcloud我用截图编辑了这篇文章,这是你需要的吗?如果你发现这个疑难解答不太适合SO模型,你可以使用上的
#疑难解答
。你能分享一下你正在使用的Presto版本吗?您可以启用更多日志记录以获取更多有关发生情况的详细信息,为此,在PrestoSql 3xx中,您可以将
io.PrestoSql.plugin.kafka=DEBUG
添加到您的
log.properties
中。您可以运行show create table并查看该位置是否存在实际数据吗?@kokosing我有presto版本0.230。我尝试了日志部分,最初我在kafka.properties文件中有其他主题名称,因此有错误日志。我再次检查以确保主题名称已删除,并且属性文件与上面的文件完全相同。上一个错误是
错误注入构造函数java.lang.IllegalArgumentException:具有相同键的多个条目:
,但此后server.log文件中没有记录任何错误。问题到底出在哪里?@bdcloud我用截图编辑了这篇文章,这是你需要的吗?如果你发现这个疑难解答不太适合SO模型,你可以使用。