Python 2.7 kibana未加载时间序列数据
我正在尝试使用kibana和ES分析数据库中的时间序列。首先,我使用python API将数据索引到ES中。我使用的映射是:Python 2.7 kibana未加载时间序列数据,python-2.7,elasticsearch,time-series,kibana-4,Python 2.7,elasticsearch,Time Series,Kibana 4,我正在尝试使用kibana和ES分析数据库中的时间序列。首先,我使用python API将数据索引到ES中。我使用的映射是: data= { "settings":{ "number_of_shards":1, "number_of_replicas":1 }, "mappings":{ TYPE_NAME: { "properties":{ "timestamp":{
data= {
"settings":{
"number_of_shards":1,
"number_of_replicas":1
},
"mappings":{
TYPE_NAME: {
"properties":{
"timestamp":{"type":"date", "format":"YYYY-MM-DD HH:mm:ss", "store":"true"},
"current":{"type":"float", "store":"true"},
"bid_qty":{"type":"float", "store":"true"},
"bid":{"type":"float", "store":"true"},
"offer":{"type":"float", "store":"true"},
"offer_qty":{"type":"float", "store":"true"},
"change":{"type":"float", "store":"true"},
"value":{"type":"string", "store":"true"}
}
}
}
}
然后我创建了一个索引,并使用下面的代码转储了我的数据
es = Elasticsearch()
response = requests.put('http://127.0.0.1:9200/'+INDEX_NAME+'/', data=json.dumps(data))
row_data = ""
for row in rows:
row_data += '{"index":{"_id": "%s"}}\n' %row[0]
row_dict = {}
for i in range(1, len(row)):
row_dict[headers[i]] = str(row[i])
row_data += json.dumps(row_dict)
row_data += "\n"
response = requests.put('http://127.0.0.1:9200/'+INDEX_NAME+'/'+TYPE_NAME+'/_bulk', data=row_data)
加载此数据后,当我尝试在kibana中添加此索引时,它会要求我的时间戳字段为data类型,然后单击create。但是在“发现”选项卡中,我根本找不到我的数据。
有趣的是,我将时间戳字段设置为一个类型字符串,并在ES中创建一个新索引,然后将其所有内容作为非时间序列数据加载。但这对我没有多大用处。如果我做错了什么,请告诉我。谢谢。经过一段时间的努力,我的部分答对了。所以基本上我没有给出正确的格式。
“YYYY-MM-DD”
应该是yyy-MM-DD
。但在使用kibana可视化数据时,在时间列中,它显示了以逗号分隔的两个日期,一个在我的数据库中,另一个是UTC。这里的主要问题是,所有的图表都使用UTC计时,这是我不想要的。因此,在进一步研究之后,我使用了这种格式yyyy-MM-dd HH:MM:ss Z
,在插入日期时,我添加了+05:30(IST),即str(date)+“+05:30”
。之后,在kibana的“我的时间”列中,它显示了两个逗号分隔的东西,无效日期,2015-08-26 09:00:49
。然而,这些图表是在我的当地时间制作的。我想我已经找到了一个临时的解决办法,如果有人想改进这个,我非常欢迎,并给它增加一些光。我认为正确的解决方案应该是kibana中的时间列应该只显示一个日期,这应该是我在本地插入的日期 经过一段时间的不断尝试,我的某些部分是正确的。所以基本上我没有给出正确的格式。“YYYY-MM-DD”
应该是yyy-MM-DD
。但在使用kibana可视化数据时,在时间列中,它显示了以逗号分隔的两个日期,一个在我的数据库中,另一个是UTC。这里的主要问题是,所有的图表都使用UTC计时,这是我不想要的。因此,在进一步研究之后,我使用了这种格式yyyy-MM-dd HH:MM:ss Z
,在插入日期时,我添加了+05:30(IST),即str(date)+“+05:30”
。之后,在kibana的“我的时间”列中,它显示了两个逗号分隔的东西,无效日期,2015-08-26 09:00:49
。然而,这些图表是在我的当地时间制作的。我想我已经找到了一个临时的解决办法,如果有人想改进这个,我非常欢迎,并给它增加一些光。我认为正确的解决方案应该是kibana中的时间列应该只显示一个日期,这应该是我在本地插入的日期