java - Spark Streaming 之后立即进行 Spark RDD 过滤器

标签 java apache-spark bigdata spark-streaming hazelcast

我正在使用 Spark Streaming,并且从 Kafka 读取流。阅读此流后,我将其添加到 hazelcast map 中。

问题是,我需要在从 Kafka 读取流后立即过滤映射中的值。

我正在使用下面的代码来并行化 map 值。

List<MyCompObj> list = CacheManager.getInstance().getMyMap().values().stream().collect(Collectors.toList());
JavaRDD<MyCompObj> myObjRDD = sparkContext.parallelize(list);

但在这个逻辑中,我在另一个逻辑中使用 JavaRDD,即 JavaInputDStream.foreachRDD,这会导致序列化问题。

第一个问题是,如何通过事件驱动运行我的 Spark 作业?

另一方面,我只是想获得一些关于预定 Spark 作业的意见。 安排 Spark 作业在特定时间执行的最佳实践是什么?

最佳答案

您考虑过Hazelcast Jet ?它是由 Hazelcast 构建的流媒体引擎。不断地将数据从 Kafka 泵送到 Hazelcast 是一种容错方式,这是它的面包和黄油,请参阅 code sample

Jet 与嵌入式 Hazelcast 打包在一起,可以为您简化架构。

关于java - Spark Streaming 之后立即进行 Spark RDD 过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52410409/

相关文章:

java - java中计算立即重复的字母

apache-spark - 在 csv 与 delta 表中使用 df.coalesce(1)

hadoop - 如何在 Ubuntu (12.0.4)-32 位上安装 cloudera manager

scala - 如何在 spark-shell 中设置 aws access key 和 aws secret key

c++ - 在迭代算法中使用 Rcpp 来加速替换列表和 vector 的元素是否合法?

sql - Hive 优化器对于涉及分区表的连接表现不佳

java - 使用 Spring Boot 和 Thymeleaf 创建文件下载链接

java - 类型 'jint' 无法解析,以及 JNIEnv、jclass

java - Spring集成在运行时添加路由

apache-spark - Spark中如何通过其他DataFrame中的条件过滤DataFrame