对于Kafka Avro制作人我跑:
./kafka-avro-console-producer --broker-list localhost:9092 --topic pageviews --property value.schema='{"type":"record","name":"mypageviews","fields":[{"name":"time","type":"string"},{"name":"url","type":"string"},{"name":"user","type":"string"},{"name":"latencyMs","type":"int"}]}'
{"time": "2018-05-31T14:23:11Z", "url": "/foo/bar", "user": "alice", "latencyMs": 32}
对于Tranquility Kafka我跑:
bin/tranquility kafka -configFile ../druid-0.12.1/conf-quickstart/tranquility/avro.json
以下是相关avro.json
的解析器部分:
"parser" : {
"type" : "avro_stream",
"avroBytesDecoder" : {
"type" : "schema_inline",
"schema" : {
"namespace": "SKY",
"name": "mypageviews",
"type": "record",
"fields": [
{ "name": "time", "type": "string" },
{ "name": "url", "type": "string" },
{ "name": "user", "type": "string" },
{ "name": "latencyMs", "type": "int" }
]
}
},
"parseSpec" : {
"timestampSpec" : {
"column" : "time",
"format" : "auto"
},
"dimensionsSpec" : {
"dimensions" : ["url", "user"],
"dimensionExclusions" : [
"timestamp",
"value"
]
},
"format" : "avro"
}
}
这是我得到的错误:
错误cmtranquility.kafka.KafkaConsumer - 例外:java.lang.AbstractMethodError:io.druid.data.input.AvroStreamInputRowParser.parse(Ljava / lang / Object;)Lio / druid / data / input / InputRow;