Анализ XML с потоковой передачей Storm и Spark Streaming - PullRequest
0 голосов
/ 22 сентября 2018

Как я могу анализировать данные XML в потоковой передаче Storm и Spark?Например, в Spark Streaming;

// 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 параллельно?

Или пример потоковой передачи Storm;

@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 Ответ

0 голосов
/ 26 сентября 2018

Я не работал в Spark.Что касается Storm, вы можете создать функцию для синтаксического анализа XML (используя предпочитаемый вами распространенный анализатор XML Java) и вызывать эту функцию внутри метода execute.Это будет выполняться параллельно в зависимости от количества сотрудников и исполнителей, которые вы предоставляете для своего приложения.

...