2016-09-27 88 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