Tôi rất mới để Spark và tôi có bối cảnh mùa xuân (tải xml trong bối cảnh ứng dụng bằng cách sử dụng ClassPathXmlApplicationContext) cần phải được chuyển đến nút công nhân. Tôi có thể tạo ra bối cảnh Spark và cố gắng sử dụng cùng với flatMap của tôi và null của nó. Có anyway tôi có thể vượt qua điều này để chức năng Flatmap? Tôi đang gọi một khuôn khổ khác với tia lửa cần bối cảnh mùa xuân này.Làm thế nào để vượt qua bối cảnh mùa xuân để nút công nhân Spark
Dưới đây là một số mã
ApplicationContext context = new ClassPathXmlApplicationContext("spring/rules-engine-spring.xml");
JavaRDD<Row> partitions = r.mapPartitions(
new FlatMapFunction<Iterator<Row>, Row>() {
public Iterable<Row> call(Iterator<Row> rowIterator) throws Exception {
List<Data> factList = new ArrayList<Data>();
while (rowIterator.hasNext()) {
Row rw = rowIterator.next();
Data fact = new Data();
fact.setGrain(rw.getString(0));
fact.setRoute(rw.getString(1));
factList.add(fact);
}
Iterable itr = new Iterable() {
List l = new ArrayList<Integer>();
public Iterator iterator() {
return l.iterator();
}
};
return itr;
}
});
List result=partitions.collect();
khi tôi đang cố gắng sử dụng bối cảnh với trong FlatMapFunction rỗng của nó. Ngoài phương thức này, ngữ cảnh có giá trị. Bất kỳ trợ giúp sẽ được đánh giá cao.
Có ngoại lệ nào không? Bạn có thể thử tạo ngữ cảnh bên trong flatMap không? – Reactormonk
Như tôi đã đề cập, tôi không thể tạo ngữ cảnh nhiều lần. Nó phải nằm ngoài FlatMap. Tôi đã thử tạo ra bối cảnh bên trong hàm và có lỗi nói rằng một số đối tượng ngữ cảnh đã có sẵn, vv Có cách nào tôi có thể tạo ngữ cảnh bên ngoài hàm flatmap và truy cập cùng với hàm không? –
Bạn có chắc chắn rằng đối tượng không phải là null bên ngoài flatMap không? Nếu nó rỗng bên trong, có lẽ logic serialization đã không lấy nó một cách chính xác. Hoặc bằng cách nào đó được đánh dấu là thoáng qua. – Reactormonk