赞
踩
由于elasticsearch数据在线上,偶尔需要将数据导到本地环境进行分析。目前有需求是将数据导入到excel表中,下面是我在用的实现方案。
1、将线上elasticsearch数据备份成文件
首先通过elasticdump组件将线上指定的index导出成文本文件
elasticdump --input="http://192.168.0.30:9200/adv_default" --output="/bigdata/adv_default.data" --type=data --limit=10000
数据样例:

2、将生成的文本文件下载到指定位置存储,以我本地电脑为例
3、通过python脚本将数据写入到excel
- import json
-
- import pandas as pd
-
- # 读取JSON文件
- json_file_path = 'D:/data/adv_default.data'
- with open(json_file_path, 'r', encoding='utf-8') as file:
- json_data = file.readlines()
-
- # 解析JSON数据
- data_list = []
- for line in json_data:
- json_line = json.loads(line)
- source_data = json_line['_source']
- data_list.append(source_data)
-
- # 转换为DataFrame
- df = pd.DataFrame(data_list)
- # 指定 输出的 Excel 文件路径
-
- excel_output_file = json_file_path.split('.')[0] + '.xlsx'
- # 将数据写入Excel文件
- df.to_excel(excel_output_file, index=False)

生成的文件格式如下:

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。