我正在Twitter上进行实时流式传输,想知道是否有一种方法可以仅从Kafka主题中提取消息和某些值?
答案 0 :(得分:0)
您可以使用ksqlDB来执行此操作。例如:
ksql> CREATE STREAM TWEETS WITH (KAFKA_TOPIC='twitter_01', VALUE_FORMAT='Avro');
ksql> SELECT USER->SCREENNAME, TEXT FROM TWEETS WHERE TEXT LIKE '%cool%' EMIT CHANGES;
+-------------------+------------------------------------------------------------------------------------------+
|USER__SCREENNAME |TEXT |
+-------------------+------------------------------------------------------------------------------------------+
|MobileGist |This is super cool!! Great work @houchens_kim! |
如果需要,您还可以使用其结果构建一个新主题
ksql> CREATE STREAM COOL_TWEETS AS SELECT USER->SCREENNAME, TEXT FROM TWEETS WHERE TEXT LIKE '%cool%' EMIT CHANGES;
由于您标记了Python,所以需要指出的是,您可以使用来自Python的REST API来调用ksqlDB。 Here's an example。
答案 1 :(得分:0)
您没有提及要接收的数据类型。推文,是的,但是是CSV吗? JSON?阿夫罗? Protobuf?
简短的回答是“是”。正如您可以打开文本文件并从中读取数据一样,您也可以从Kafka记录中获取数据。它们只是碰巧一直在流中