InfluxDB:将大量点从一个实例导出/导入到另一个实例
Posted
技术标签:
【中文标题】InfluxDB:将大量点从一个实例导出/导入到另一个实例【英文标题】:InfluxDB: Export/Import large number of points form one instance to another 【发布时间】:2020-09-28 03:28:10 【问题描述】:我在我们的一个客户场所安装了一个 InfluxDB 实例,但我无权访问。
当报告某些问题时,我需要确定一个时间窗口(问题之前和之后),并为他们提供一个可以提取该窗口中所有数据的脚本。 该脚本应生成一组导出的数据,我的客户 将与我分享。然后我需要将此数据导入我的实例进行分析。
我尝试使用备份/恢复来执行此操作,但似乎失败并出现数据库存在的错误。我现在打算使用 对于每次测量: "influx -execute 'select * from ' -format csv -> measurement.txt
并将所有这些文件导出为 tar.gz。我仍然需要弄清楚如何将这些数据导入到我的实例中,但这应该不是问题。
有没有更好的方法来做到这一点?
【问题讨论】:
【参考方案1】:通常备份/恢复适用于您的用例。但是您无法将这些值恢复到已经存在的数据库中。
备份:
influxd backup -portable -database telegraf <path-to-backup>
这是 influxdb 官方文档建议的恢复到现有数据库的方法
将现有数据库备份恢复到临时数据库。
influxd restore -portable -db telegraf -newdb telegraf_bak path-to-backup
将数据(使用 SELECT ... INTO 语句)旁加载到现有目标数据库并删除临时数据库。
使用 telegraf_bak
SELECT * INTO telegraf..:MEASUREMENT FROM /.*/ GROUP BY *
DROP DATABASE telegraf_bak
https://docs.influxdata.com/influxdb/v1.8/administration/backup_and_restore/#restore-examples
【讨论】:
以上是关于InfluxDB:将大量点从一个实例导出/导入到另一个实例的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 python 客户端将大量行从 InfluxDB 导出到 CSV?
14.grafana导入导出;Grafana的安装和Influxdb数据源配置
14.grafana导入导出;Grafana的安装和Influxdb数据源配置