我使用 Spark 2.1.1。
我使用结构化流从 2 个 Kafka 分区读取消息。我将我的应用程序提交到 Spark Standalone 集群,其中包含一个工作人员和 2 个执行程序(每个 2 个核心)。
./bin/spark-submit \
--class MyClass \
--master spark://HOST:IP \
--deploy-mode cluster \
/home/ApplicationSpark.jar
我想要这样的功能,来自每个 Kafka 分区的消息应该由每个单独的执行程序独立处理。但是现在发生的事情是,执行程序分别读取和映射分区数据,但是映射后形成的无界表是常用的并且具有来自两个分区的数据。
当我在表上运行结构化查询时,查询必须处理来自两个分区的数据(更多数据量)。
select product_id, max(smr.order_time), max(product_price) , min(product_price)
from OrderRecords
group by WINDOW(order_time, "120 seconds"), product_id
Kafka分区在哪里Product_id
有没有办法从执行器映射到的 Kafka 分区并行但单独地对数据运行相同的结构化查询?