Kafka将MySQL连接到ES

时间:2018-08-03 16:36:54

标签: mysql elasticsearch apache-kafka apache-kafka-connect

让我们说我想使用Kafka连接器将数据从3个mysql表移动到1个ES索引。

这3个表是数据库规范化的结果,在ES中,不需要为此使用3个索引,理想情况下,我将有一个索引,并且该索引上的每个文档都将具有属性。例如在MySQL中,我有3个表Person,Cars,Houses 因此,一个人可以拥有许多汽车和许多房屋。在ES中,我想要一个这样的文档:

{
    "name": "Peter",
    "age": 30,
    "cars": [{
        "color": "red"
    }],
    "houses": [{
        "address": "street 1"
    }]
}

最好这样做:

  1. 使用一个JdbcSourceConnector进行查询,该查询将连接3个表并将其写入主题,然后使用ElasticsearchSinkConnector将流同步到ES索引。
  2. 为每个表创建3个JdbcSourceConnector,在KSQL中联接流/表,以使用来自3个MySQL表的数据生成一个流,然后再创建一个ElasticsearchSinkConnector,以将该流同步到ES索引。 / li>

注意:我已经尝试了选项 2 ,但是由于某种原因,我在ES中看到了索引,但是没有文档。

0 个答案:

没有答案