1) Use kafka connect to produce your data to kafka topics.
Have a consumer which would consume off of these topics(could Kstreams, Ksql or Akka, Spark).
Produce back to a kafka topic for further use or some datastore, any sink basically
2) Write custom producers, do your transformations in producers before
writing to kafka topic or directly to a sink unless you want to reuse this produced data
for some further processing.
Read from kafka topic and do some further processing and write it back to persistent store.
3条答案
按热度按时间tjvv9vkg1#
两种方法都有可能。考虑所有可能的选择,选择一个最适合你的选择。假设您有一个csv或某个db(oracle)格式的源、原始数据,并且希望执行etl工作并将其加载回一些不同的数据存储
这样做的好处是,使用kafka connect只需很少或根本不需要代码就可以接收数据,因为设置kafka connect源代码生成器很容易。
所有这些都归结为您的设计选择、您需要从系统中获得的想法、您的数据结构有多复杂。
mrwjdhj32#
在数据管道的用例中,kafka客户机可以同时充当消费者和生产者。
例如,如果有原始数据流到
ClientA
在把它送去医院之前要清洗的地方ClientB
为了浓缩ClientA
作为使用者(聆听主题以获取原始数据)和生产者(将清理过的数据发布到主题)。你在哪里划定这些界限是一个单独的问题。
yhuiod9q3#
它可以是生产者或消费者的一部分。
或者您可以设置一个专用于kafka流进程或ksql集群之类的环境