我对Elasticsearch很陌生。所以,如果我问一个非常简单的问题,请原谅。

在我的工作场所,我们有适当的ELK装置。

由于数据量非常大,我们仅存储14天的数据,而我的问题是我如何才能在Python中读取数据,然后在一些NOSQL中存储我的分析结果。

到现在为止,我的主要目标是将数据帧或任何格式的原始数据从 flex 簇中读取到python中。

我想以不同的时间间隔(例如1天,1周,1个月等)来获取它。

最近1周,我一直在苦苦挣扎。

最佳答案

您可以使用以下代码来实现

# Create a DataFrame object
from pandasticsearch import DataFrame
df = DataFrame.from_es(url='http://localhost:9200', index='indexname')

获取索引的架构:
 df.print_schema()

之后,您可以在df上执行常规数据帧操作。

如果要解析结果,请执行以下操作:
from elasticsearch import Elasticsearch
es = Elasticsearch('http://localhost:9200')
result_dict = es.search(index="indexname", body={"query": {"match_all": {}}})

然后将所有内容最终放入您的最终数据框中:
from pandasticsearch import Select
pandas_df = Select.from_dict(result_dict).to_pandas()

希望对您有所帮助。

关于python - 将Elastic Cluster数据读入python数据框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51949872/

10-12 22:23
查看更多