将csv数据导入OpenTSDB

时间:2013-05-28 23:18:57

标签: opentsdb

我已经在Cloudera Hadoop / HBase集群上成功安装了OpenTSDB。

我的问题是,我有大量历史1分钟的股票数据,如下所示:

"Date","Time","Open","High","Low","Close","Volume" 
12/30/2002,0930,24.53,24.65,24.53,24.65,762200
12/30/2002,0931,24.65,24.68,24.52,24.6,90400

.....

从QS指南中的文档中,它在批量导入部分中说明:

./ tsdb import your-file

当我在我的数据上尝试这个时,它会抛出一个无用的例外。

有关如何将其导入OpenTSDB的任何提示?感谢。

2 个答案:

答案 0 :(得分:4)

您需要编写一个脚本来将您的CSV转换为OpenTSDB格式的内容。 OpenTSDB的一般格式是metric timestamp value tags

例如,您的样本可以写成如下:

stock.open 1041269400 24.53 symbol=XXX
stock.high 1041269400 24.65 symbol=XXX
stock.low 1041269400 24.53 symbol=XXX
stock.close 1041269400 24.65 symbol=XXX
stock.volume 1041269400 762200 symbol=XXX
stock.open 1041269460 24.65 symbol=XXX
stock.high 1041269460 24.68 symbol=XXX
stock.low 1041269460 24.52 symbol=XXX
stock.close 1041269460 24.6 symbol=XXX
stock.volume 1041269460 90400 symbol=XXX

虽然看起来你的工作时间是1分钟,但开/关是多余的,所以这可能更合适:

stock.quote.1m 1041269340 24.53 symbol=XXX
stock.quote.1m 1041269400 24.65 symbol=XXX
stock.quote.1m 1041269460 24.6 symbol=XXX

答案 1 :(得分:0)

我为opentsdb写了一个小的csv导入器。

https://github.com/soeren-lubitz/csv-to-opentsdb

适用于

形式的CSV文件
Timestamp,Foo,Bar
1483342774,42.1,23.2

希望这会有所帮助。反馈将不胜感激。