我已经在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的任何提示?感谢。
答案 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
希望这会有所帮助。反馈将不胜感激。