Spark konusunda çok yeniyim ve işçi düğümüne iletilmesi gereken bir yay bağlama içeriğim (ClassPathXmlApplicationContext kullanarak uygulama içeriğine xml yükleniyor). Kıvılcım bağlamını oluşturabiliyorum ve aynısını benim flatMap'ım ve onun null'ında kullanabiliyorum. Yine de bunu Flatmap işlevine aktarabilir miyim? Bu bahar içeriğine ihtiyaç duyan kıvılcımla başka bir çerçeve arıyorum. İşte Bahar içeriği Spark kıvılcım çalışanı düğümüne nasıl iletilir
Ben FlatMapFunction yılında null bağlamını kullanmaya çalışıyorum bazı kodApplicationContext 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();
olduğunu. Bu yöntemin dışında, bağlamın değeri vardır. herhangi bir yardım takdir edilecektir.
İstisnai durumlar? İçeriği flatMap içinde oluşturmayı deneyebilir misiniz? – Reactormonk
Bahsettiğim gibi, içeriği bir kereden fazla oluşturamıyorum. FlatMap'ın dışında olmalı. İşlevsellik içerisindeki bağlamı oluşturmaya çalıştım ve bazı bağlam nesnelerinin zaten var olduğunu söyleyen hatalar yaptım vb. Düzmap işlevi dışında bağlamı oluşturabilmem ve işlevle aynı şekilde erişebilmemin bir yolu var mı? –
Nesnenin flatMap'in dışında null olmadığından emin misiniz? İçerde boşsa, belki de serileştirme mantığı doğru bir şekilde getirmedi. Ya da bir şekilde geçici olarak işaretlenir. – Reactormonk