我在avro中定义了我的架构,如下所示:
[
{
"namespace":"com.murali.message",
"type":"record",
"name":"MetaData",
"doc":"Meta data of file like permissions, size etc.,",
"fields":[
{
"name":"created",
"type":"string",
"doc":"creation time of file in millis"
}
]
}
]
我将毫秒转换为日期格式yyyy-MM-dd HH:mm:ss.SSSSSS
,并将其设置为我的Avro模式中的“创建”成员。现在,我尝试在弹性搜索中将此“创建的”字符串字段转换为Timestamp类型。我已经写了elasticsink属性文件,据我所知属性文件是正确的,但是我没有在Elasticsearch中使用“ TimeStamp”数据类型记录中的“ created”字段。有人可以看一下并纠正我,无论我做的是正确的还是我所缺少的。我也在下面发布了我的Elasticsink属性。
name=elasticsearch-sink
connector.class=io.confluent.connect.elasticsearch.ElasticsearchSinkConnector
tasks.max=1
topics=checking_fun1
connection.url=http://localhost:9200
type.name=file-data
key.ignore=true
schema.ignore=true
#Timestamp converters
transforms=convert_cr_ts
transforms.convert_cr_ts.type=org.apache.kafka.connect.transforms.TimestampConverter$Value
transforms.convert_cr_ts.target.type=Timestamp
transforms.convert_cr_ts.field=created
transforms.convert_cr_ts.format=yyyy-MM-dd HH:mm:ss.SSSSSS
behavior.on.malformed.documents=ignore