从Kafka主题中提取特定数据

时间:2020-06-04 15:02:12

标签: python twitter apache-kafka

我正在Twitter上进行实时流式传输,想知道是否有一种方法可以仅从Kafka主题中提取消息和某些值?

2 个答案:

答案 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

参考:Exploring ksqlDB with Twitter Data

答案 1 :(得分:0)

您没有提及要接收的数据类型。推文,是的,但是是CSV吗? JSON?阿夫罗? Protobuf?

简短的回答是“是”。正如您可以打开文本文件并从中读取数据一样,您也可以从Kafka记录中获取数据。它们只是碰巧一直在流中