我正在使用火花流,我从 Kafka 读取流。阅读此流后,我将其添加到榛子地图。问题是,我需要在从 Kafka 读取流后立即从地图中过滤值。我使用下面的代码来并行化地图值。List<MyCompObj> list = CacheManager.getInstance().getMyMap().values().stream().collect(Collectors.toList());JavaRDD<MyCompObj> myObjRDD = sparkContext.parallelize(list);但是在这个逻辑中,我在另一个是 JavaInputDStream.foreachRDD 中使用 JavaRDD,这会导致序列化问题。第一个问题是,如何通过事件驱动运行我的 Spark 作业?另一方面,我只是想就预定的 Spark 作业获得一些意见。安排 Spark 作业在特定时间执行它的最佳做法是什么?
2 回答
慕田峪7331174
TA贡献1828条经验 获得超13个赞
你考虑过Hazelcast Jet吗?它是由 Hazelcast 构建的流媒体引擎。持续将数据从 Kafka 泵送到 Hazelcast 一种容错方式是它的面包和黄油,请参阅代码示例
Jet 与嵌入式 Hazelcast 打包在一起,可为您简化架构。
添加回答
举报
0/150
提交
取消