我正在使用Spark-Kafka集成来处理我的项目,该项目是在Twitter上找到最热门的主题标签。为此,我使用Kafka通过tweepy Streaming推送推文,而在消费者方面,我使用Spark Streaming进行DStream和RDD转换...
[我的问题是,当我在本地计算机上同时运行生产者和使用者时,是否会在一段时间内通过Kafka运行流式处理过程是否会导致存储问题...我可以安全地执行生产者多长时间(因为我需要运行一段时间以获得正确的趋势计数。)?
如果我在AWS等云平台上运行它也会更好吗?
我同意。存储是运行流服务器时的两难选择,aws是托管MSK,这是托管的Kafka流服务器。关于它的优点是,您可以集成s3进行备份,其成本比本地存储低得多,而且耐用性也很高。 EBS存储可以即时配置
https://aws.amazon.com/blogs/big-data/best-practices-for-running-apache-kafka-on-aws/
尚不清楚您正在使用什么时间窗口,或者Kafka在哪里运行。计算超过10分钟或一个小时左右的趋势,不应在Spark集群上占用太多磁盘。
Kafka存储空间当然需要足够大以适合您的用例
推文不是很大。过滤主题标签只会使其变小。
注意:Spark似乎对此有些矫kill过正,因为您可以使用Kafka Connect进行提取,使用ksqlDB进行计算