You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将PrestoDB数据插入Kafka Topic并解决插入时报错问题

问题原因

该报错是Presto Kafka连接器写入场景的典型配置缺失问题:你当前的表配置仅定义了消息体(value)的dataFormat为json,未显式声明消息key的序列化格式,Presto默认会给未配置的key使用dummy格式,该格式仅支持读取不支持写入,因此插入时触发报错。

解决方案

  • 第一步:修改配置文件/etc/kafka/mytable.json,补全key的格式配置。如果你不需要额外用Kafka消息key存储字段,可参考如下配置增加key字段声明:
{
    "tableName": "mytable",
    "schemaName": "mykafka",
    "topicName": "mykafka.mytable",
    "key": {
        "dataFormat": "raw",
        "fields": []
    },
    "message": {
        "dataFormat": "json",
        "fields": [
            {
                "name": "id",
                "mapping": "id",
                "type": "INTEGER"
            },
            {
                "name": "name",
                "mapping": "name",
                "type": "VARCHAR"
            }
        ]
    }
}

如果需要自定义消息key的内容,可把key的dataFormat改为json,同时在fields里添加对应key字段的映射规则即可。

  • 第二步:将修改后的配置文件同步到所有Presto worker节点的相同路径下,确保所有节点配置一致。
  • 第三步:重载Presto的Kafka catalog,或者重启Presto集群使配置生效。

配置生效后再次执行插入语句即可正常写入数据。

内容的提问来源于stack exchange,提问作者CompEng

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 10:27:03