我有流RDD并在其上应用了Java POJO,现在有inputRDD,其中包含id等其他详细信息。我想要groupby / filterby id,那么每个rdd应该保存在自己的数据库中。我已经尝试过和for循环一起使用的代码,但是如果这需要在spark并行处理中发生。任何帮助表示赞赏。
messages.transform(this::getClass).foreachRDD(inputRDD -> {
List<String> idList = inputRDD.map(ClassObject::getEmpid).distinct().collect();
for (String id : idList){
String EmpName = EmpCache.getEmpNameFor(id).toLowerCase();
inputRDD.filter(f -> f.getEmpid().equals(id));
javaFunctions(inputRDD).writerBuilder(in_EmpName , tableName, mapToRow(agg)).saveToCassandra();
}
}