gpt4 book ai didi

python-2.7 - kibana不加载时间序列数据

转载 作者:行者123 更新时间:2023-12-03 00:19:35 25 4
gpt4 key购买 nike

我正在尝试使用 kibana 和 ES 分析我的数据库中的时间序列。首先,我使用 python API 将我的数据索引到 ES 中。我使用的映射是:

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 中添加此索引时,它会询问我的时间戳字段是否为数据类型,然后单击创建。但是在发现选项卡中,我根本找不到我的数据。
有趣的是,我将我的时间戳字段作为类型字符串,并在 ES 中创建一个新索引,然后其所有内容都作为非时间序列数据加载。但这对我没有多大用处。如果我做错了什么,请建议我。谢谢你。

最佳答案

经过一段时间的尝试,我得到了正确的部分。所以基本上我没有给出正确的格式。 "YYYY-MM-DD"应该是 yyyy-MM-dd .但随后在使用 kibana 可视化数据时,在时间列中,它显示逗号分隔两个日期,一个在我的数据库中,另一个是 UTC。这里的主要问题是所有图表都使用了我不想要的 UTC 时间。所以在研究了更多之后,我使用了这种格式yyyy-MM-dd HH:mm:ss Z在插入日期时,我添加了 +05:30 (IST) 即 str(date) + " +05:30" .之后,在kibana中,在我的时间栏中,它显示了两个逗号分隔的东西,Invalid date, 2015-08-26 09:00:49 .然而,这些图表是在我本地时间制作的。我想我已经找到了一个临时解决方案,如果有人想改进这个,是最受欢迎的,并在其中增加一些亮点。我认为正确的解决方案应该是 kibana 中的时间列应该只显示一个日期,那应该是我本地插入的日期。

关于python-2.7 - kibana不加载时间序列数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32242562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com