我正试图从Avro和JSON中提取属性.我可以使用EvaluateJsonPath处理器从JSON中提取属性.我试图在Avro上做同样的事,但我不确定它是否可以实现.
这是我的流程,ExecuteSQL- > SplitAvro- >UpdateAttribute
UpdateAttribute是我想要提取属性的处理器.请在下面找到UpdateAttribute处理器的快照,
所以,我的基本问题是,我们可以从Avro中提取属性吗?如果是,请为我提供正确的方法.或者ConvertAvroToJSON在提取属性之前是否必须始终使用?
我想将Java 8流用于以下实现。基本上,我想解析一个列表并形成另一个不同对象的列表。
输入 -Person pojos列表, 输出 -PersonInfo pojos列表
List<Person> persons = new ArrayList<Person>();
Person max = new Person();
max.setName("Max");
max.setAge(10);
max.addAddress(new Address("Street1", "City1"));
max.addAddress(new Address("Street2", "City2"));
Person peter = new Person();
peter.setName("Peter");
peter.setAge(20);
peter.addAddress(new Address("Street1", "City1"));
peter.addAddress(new Address("Street2", "City2"));
persons.add(max);
persons.add(peter);
System.out.println("Input: " + persons);
List<PersonInfo> personInfos = new ArrayList<PersonInfo>();
PersonInfo personInfo = null;
for (Person person : persons) {
for (Address addr : person.getCurrAndPrevAddrs()) {
personInfo = new PersonInfo();
personInfo.setName(person.getName());
personInfo.setAge(person.getAge());
personInfo.setAddrs(addr);
personInfos.add(personInfo);
}
}
System.out.println("Output: " + personInfos.toString()); …Run Code Online (Sandbox Code Playgroud)