2016-09-27 35 views
0

假設我有一個龐大的數據庫(表a),這個數據庫(a表)包含除了許多其他字段之外的某個部門的員工名稱。現在在一個不同的數據庫(或不同的表格,比如表b)中,我只有兩個條目;員工姓名和他的ID。但是這張表(b)不僅包含一個部門的條目,而且包含整個公司的條目。兩個表格的原始格式都是文本文件,所以我用logstash將它們解析到Elasticsearch中,然後用Kibana可視化結果。現在,當我創建了一些可視化從Kibana表(一),其中x軸顯示員工姓名在Kibana中加入表格

,我意識到這將是很好,如果我們有員工ID來代替。因爲我知道我在表(b)中有這些信息,所以我會搜索一下告訴Kibana將表(a)生成的圖表中的員工姓名翻譯成基於表(b)的員工ID。我的問題如下:

1)有沒有辦法直接在Kibana做到這一點?如果是的話,我們可以做到這一點,如果每個表保存在一個單獨的索引或我們必須將它們都保存在相同的idnex?

2)如果不能直接在Kibana完成,具有索引數據時做的,是有辦法仍然解析這兩個文本文件分別與logstash?

我知道Elasticsearch是一個非關係型數據庫,因此不適合類似於SQL的功能(加入)。但是,應該有一個等效或解決方法。這只是一個簡單的用例,但當然一般的問題是如何關聯不同來源的數據。否則,Elasticsearch實際上並不那麼強大。

回答

3

Similar questions已經是askedanswered

基本上答案是 - 在Kibana沒有你做不到的連接,您必須在索引時間做這些。空間很便宜,elasticsearch很好地處理重複數據,所以只需創建需要在索引時顯示的任何字段。

+0

好的,所以答案是數字2.但是我怎麼能在logstash中做到這一點?我已經在文檔中看到過一些基於父子關係的例子,但是爲此人們必須手動定義哪個孩子屬於哪個父母,所以這不是真正的加入!當然,由於我們正在談論數百萬條記錄,因此我無法手動上傳數據 – mshabeeb