使用 Apache Kafka 将数据从 MSSQL 同步到 Elasticsearch

Synchronizing data from MSSQL to Elasticsearch using Apache Kafka

我目前在 SQL 服务器中 运行 进行文本搜索,这正成为一个瓶颈,出于显而易见的原因,我想将事情转移到 Elasticsearch,但我知道我有对数据进行非规范化以获得最佳性能和可扩展性。

目前,我的文本搜索包括一些聚合和连接多个 table 以获得最终输出。连接的表不是那么大(每个 table 最多 20GB)但会不定期更改(插入、更新、删除)(其中两个每周一次,另一个按需更改 x 次)。

我的计划是将 Apache Kafka 与 Kafka Connect 一起使用,以便从我的 SQL 服务器读取 CDC,将此数据加入 Kafka 并将其保存在 Elasticsearch 中,但是我找不到任何 material 告诉我当数据被持久化到 Elasticsearch 时如何处理删除。

默认驱动程序是否支持此功能?如果不是,有哪些可能性? Apache Spark、Logstash?

我不确定现在在 Kafka Connect 中是否已经可以做到这一点,但似乎可以通过 Nifi 解决。

希望我理解这种需要,这里是使用标准 NiFi 处理器之一删除 Elasticsearch 记录的文档:

https://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi/nifi-elasticsearch-5-nar/1.5.0/org.apache.nifi.processors.elasticsearch.DeleteElasticsearch5/