如何在storm and spark流媒体中解析xml数据?例如在Spark流中;
// Define spark streaming MAP function.
private static final Function<XML_DOCUMENT_TYPE, MY_JAVA_CLASS> parsingXMLFunc = (doc -> {
// create my java object
MY_JAVA_CLASS mjc = new MY_JAVA_CLASS();
// classic xml parsing
List<String> parsed_doc = doc.parse(); // etc
mjc.temperature = parsed_doc[0];
mjc.accelerometer = parsed_doc[1];
return mjc;
});
在本例中,spark可以并行解析xml吗?
或风暴流示例;
@Override
public void execute(Tuple tuple) {
// create my java object
MY_JAVA_CLASS mjc = new MY_JAVA_CLASS();
// classic xml parsing
Document doc = tuple.get(0);
List<String> parsed_doc = doc.parse(); // etc
mjc.temperature = parsed_doc[0];
mjc.accelerometer = parsed_doc[1];
_collector.emit(new Values(mjc));
};
在上面的示例中,xml解析操作是并行完成的吗?或者你有更好的方法?
1条答案
按热度按时间mlnl4t2r1#
我没有在spark工作过。关于storm,您可以创建一个函数来进行xml解析(使用您喜欢的一些常见javaxml解析器)&在“execute”方法中调用该函数。这将根据您为应用程序提供的工作人员和执行者的数量并行运行。