我在数据文件中有一个纪元格式的字段,我想将该字段中的数据更改为日期格式。有什么简单的方法吗?
https://drive.google.com/open?id=1JRZj8myVu1UHJ3jxZzzb8LSKKMicY0Qi
答案 0 :(得分:0)
您可以利用摘要date
processor功能,该功能将读取包含一个纪元值的日期字段并将其转换为普通的ISO8601格式:
首先,您可以像这样创建管道:
PUT _ingest/pipeline/epoch-to-format
{
"processors": [
{
"date": {
"field": "arrival_timestamp",
"target_field": "arrival_timestamp",
"formats": [
"UNIX_MS"
]
}
},
{
"date": {
"field": "event_timestamp",
"target_field": "event_timestamp",
"formats": [
"UNIX_MS"
]
}
}
]
}
然后,当您提取文档时,可以指定要使用的管道:
PUT test/doc/1?pipeline=epoch-to-format
{
"event_timestamp": 1556843795341,
"arrival_timestamp": 1556843798527,
...
}
您最终将把该文档编入ES:
GET test/doc/1
{
"arrival_timestamp" : "2019-05-03T00:36:38.527Z",
"event_timestamp" : "2019-05-03T00:36:35.341Z",
...
}
使用Python提取时,您可以像这样指定管道:
es.index(index='indexname', doc_type='typename', body="string", pipeline='epoch-to-format')