我正在使用火花流,我從 Kafka 讀取流。閱讀此流后,我將其添加到榛子地圖。問題是,我需要在從 Kafka 讀取流后立即從地圖中過濾值。我使用下面的代碼來并行化地圖值。List<MyCompObj> list = CacheManager.getInstance().getMyMap().values().stream().collect(Collectors.toList());JavaRDD<MyCompObj> myObjRDD = sparkContext.parallelize(list);但是在這個(gè)邏輯中,我在另一個(gè)是 JavaInputDStream.foreachRDD 中使用 JavaRDD,這會(huì)導(dǎo)致序列化問題。第一個(gè)問題是,如何通過事件驅(qū)動(dòng)運(yùn)行我的 Spark 作業(yè)?另一方面,我只是想就預(yù)定的 Spark 作業(yè)獲得一些意見。安排 Spark 作業(yè)在特定時(shí)間執(zhí)行它的最佳做法是什么?
2 回答

慕田峪7331174
TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超13個(gè)贊
你考慮過Hazelcast Jet嗎?它是由 Hazelcast 構(gòu)建的流媒體引擎。持續(xù)將數(shù)據(jù)從 Kafka 泵送到 Hazelcast 一種容錯(cuò)方式是它的面包和黃油,請(qǐng)參閱代碼示例
Jet 與嵌入式 Hazelcast 打包在一起,可為您簡(jiǎn)化架構(gòu)。
添加回答
舉報(bào)
0/150
提交
取消