2014-09-30 60 views
0

使用Java客戶端,我就插入了一系列這樣的:InfluxDB「無法查找列」當一個WHERE時間子句用於

Serie serie1 = 
    new Serie.Builder(perfStat.pointCut).columns("time", "value").values(perfStat.start, perfStat.end - perfStat.start).build(); 
influxDB.write("pointcut_performance", TimeUnit.MICROSECONDS, serie1); 

Grafana嘗試運行此查詢,這將失敗......它也沒有在influxdb管理工具:

select mean(value) from "com.xxx.databunker.salesforce.processing.jms.SalesForceLeadMessageListener.onMessage(Message)" where time > now() - 6h group by time(1s) order asc 

你得到這個錯誤:ERROR: Couldn't look up columns。如果您拿出「where」子句,它將運行:

select value from "com.springventuregroup.databunker.salesforce.processing.jms.SalesForceLeadMessageListener.onMessage(Message)" 

我在文檔中找不到它。任何幫助非常感謝!

編輯

的問題是:明明存在是可查詢的數據庫中的數據,只要您的查詢沒有一個地方密切。爲什麼我得到那個錯誤?

回答

1

我有相同的問題,經過多次試驗,我發現,這個問題是如何,我發送時間列,

如果我有這樣的數據:

1326219450000 132850001 request  http://yahoo.com 1 
1326219449000 132840001 response http://tranco.com 1 

那麼誤差拋出只有當我添加這部分「where time> now() - 1d」時,我可以添加另一個where子句,但不是那個,除以1000後,我發送沒有更多的錯誤。

1412218778912 132830001 response http://google.com 1 
1412218778720 132820001 request  http://cranka.com 1 

現在如果我離開這兩組:

1412133515000 132870001 request  http://penca.com 1 
1412133515000 132860001 request  http://cranka.com 1 
1326219450000 132850001 request  http://yahoo.com 1 
1326219449000 132840001 response http://tranco.com 1 

我可以做查詢就好了grafana再次工作

select * from requests where time > now() - 1d 

這裏是關於涌入服用時間以秒計,而不是評論毫秒,https://github.com/influxdb/influxdb/issues/572

0

你插入 「pointcut_performance」,並從 「com.xxx.databunker.salesforce.processing.jms.SalesForceLeadMessageListener.onMessage(消息)」 中選擇...

使用list series查看可用的系列名稱。

+0

...我*插入到系列中。問題是具有where子句不會運行的查詢。 – 2014-10-01 13:45:42