【发布时间】:2019-12-10 06:39:03
【问题描述】:
通过 Kafka elasticsearch 连接器添加数据时,如何允许 kibana 使用我的时间戳字段作为@timestamp?
我正在像这样定义我的 avro 架构
public static String userSchema = "{\"type\":\"record\"," +
"\"name\":\"myrecord\"," +
"\"fields\":[" +
"{\"name\":\"wSrcTime\",\"type\":[\"string\", \"null\"],\"default\":\"null\"}," +
"{\"name\":\"wTradePrice\",\"type\":[\"null\",\"float\"],\"default\":null}," +
"{\"name\":\"timestamp\",\"type\":{\"type\":\"long\",\"logicalType\":\"timestamp-millis\"}}" +
"]}";
并使用它来填充字段
avroRecord.put("timestamp", System.currentTimeMillis());
我看到kafka-avro-console-consumer的数据如下:
{"wSrcTime":{"string":"2019-08-01 15:20:40.127"},"wTradePrice":null,"timestamp":1564672840137}
{"wSrcTime":{"string":"2019-08-01 15:20:41.062"},"wTradePrice":null,"timestamp":1564672841072}
{"wSrcTime":{"string":"2019-08-01 15:20:41.062"},"wTradePrice":null,"timestamp":1564672841073}
{"wSrcTime":{"string":"2019-08-01 15:20:41.064"},"wTradePrice":null,"timestamp":1564672841075}
{"wSrcTime":{"string":"2019-08-01 15:20:41.065"},"wTradePrice":null,"timestamp":1564672841076}
{"wSrcTime":{"string":"2019-08-01 15:20:41.410"},"wTradePrice":null,"timestamp":1564672841420}
并将添加到 kibana 索引的数据视为
timestamp: number
wTradePrice: number
wSrcTime: string
有没有推荐的方法来制作时间戳@timestamp,以便我可以在轴上使用它? 谢谢
【问题讨论】:
标签: kibana avro apache-kafka-connect kafka-producer-api