2016-03-31 9 views
0

Wenn wir einen Funken Stream Kontext initial, werden wir Code wie verwenden. Die Einheit des Batch-Intervalls ist hier die Zeit (Sekunde). Aber können wir das Intervall auf etwas anderes ändern? Zum Beispiel die Anzahl der Dateien.Können wir die Einheit des Funkenstrom-Chargenintervalls ändern?</p> <pre><code>ssc = StreamingContext(sc, 1) </code></pre> <p>Das 1 hier Intervall bedeutet hier 1 Sekunde Partie:

Wie wir einen Ordner haben, wird es Dateien kommen, aber wir wissen nicht wann. Was wir wollen ist, dass, sobald es eine Datei gibt, wir es verarbeiten, so dass hier das Intervall kein bestimmter Zeitbereich ist, ich hoffe es ist die Anzahl der Dateien.

Können wir das tun?

Antwort

2

Das ist nicht möglich. Spark Streaming führt Batch-Jobs im Wesentlichen in einem bestimmten Zeitintervall durch. Darüber hinaus sind alle Fensteroperationen zeitbasiert, sodass der Begriff der Zeit in Spark Streaming nicht ignoriert werden kann.

In Ihrem Fall würden Sie versuchen, den Job für die niedrigste Verarbeitungszeit zu optimieren, und dann mehrere Batches mit 0 Datensätzen, wenn keine neuen Dateien verfügbar sind.