2016-11-23 6 views
1

ausführen Macht es Sinn, Stream- und Batch-Verarbeitung nebeneinander in Flink auszuführen?Die Stream- und Batch-Umgebung nebeneinander mit Flink

//calculate median using DataSet (Batch Environment) 
BatchFunctions batch = new BatchFunctions(); 
DataSet<Tuple2<Double, Integer>> dataSet1 = batch.loadDataSetOfOctober2016(); 
double median = batch.getMedianReactionTime(dataSet1); 

// now use the calculated median in the DataStream (stream environment) 
StreamFunctions stream = new StreamFunctions(); 
DataStream<Tuple7<String, String, Integer, String, Date, String, List<Double>>> dataStream1 = stream.getKafkaStream(); 
stream.printPredictionForNextReactionTimeByMedians(dataStream1, median, Time.seconds(10)); 
stream.execute(); 

Antwort

2

Ich würde es lieber nicht machen. Wenn Ihr Streaming-Prozess von Ihrem Batch-Ergebnis abhängt. Sie können Batch-Ergebnis im Voraus erhalten und in einer Warteschlange oder Datenbanktabelle setzen, Prozess Streaming kann von ihm erhalten führen, so müssen Sie es nicht, wenn Batch Ergebnis Änderungen neu starten. Da Streaming-Prozess ist etwas unendlich. Das Batch-Prozessergebnis kann sich jedoch ändern, da Sie es möglicherweise auf anderen Eingaben ausführen.

+0

ok danke für deine meinung – lidox

Verwandte Themen