Apache kafka 从Kafka读取时如何异步生成spark流
我有一个Kafka分区和一个sparkStreaming应用程序。一台10核的服务器。当spark streaming从Kafka收到一条消息时,后续过程将花费5秒(这是我的代码)。所以我发现sparkStreaming读取Kafka消息的速度非常慢,我猜当spark读取一条消息时,它将等待消息被处理,因此读取和处理是同步的。Apache kafka 从Kafka读取时如何异步生成spark流,apache-kafka,spark-streaming,Apache Kafka,Spark Streaming,我有一个Kafka分区和一个sparkStreaming应用程序。一台10核的服务器。当spark streaming从Kafka收到一条消息时,后续过程将花费5秒(这是我的代码)。所以我发现sparkStreaming读取Kafka消息的速度非常慢,我猜当spark读取一条消息时,它将等待消息被处理,因此读取和处理是同步的。 我在想我能不能让spark异步读取?因此,卡夫卡的读数不会被后续处理拖拽。然后火花会很快消耗卡夫卡的数据。然后我可以专注于spark内部缓慢的数据处理。顺便说一句,我使用
我在想我能不能让spark异步读取?因此,卡夫卡的读数不会被后续处理拖拽。然后火花会很快消耗卡夫卡的数据。然后我可以专注于spark内部缓慢的数据处理。顺便说一句,我使用的是foreachRDD函数。你可以增加卡夫卡中的分区数量,它应该可以提高并行性,你也可以尝试使用“直接卡夫卡接收器”,当你的应用程序读取卡夫卡的内容时,它确实可以提高性能。你可以增加卡夫卡中的分区数量,它应该可以提高并行性,此外,您还可以尝试使用“直接卡夫卡接收器”,当您的应用程序读取卡夫卡内容时,它可以真正提高性能