2016-07-12 8 views
3

Ich habe eine BigQuery-Tabelle und ich möchte einen Job mit writeDisposition WRITE_TRUNCATE verwenden, um die Tabelle mit einer Teilmenge seiner Zeilen zu überschreiben. Ich mache das, weil ich versuche, eine DELETE FROM … WHERE … Operation nachzuahmen.Streaming-Inserts während BigQuery Überschreiben Job

Angenommen, während der Job ausgeführt wird, versuche ich gleichzeitig, Zeilen in die Tabelle zu streamen. Ist es möglich, dass Zeilen während der Ausführung des Jobs eingefügt werden und nach Abschluss des Jobs überschrieben werden? Oder gibt es einen Sperrmechanismus, der verhindert, dass Zeilen bis zum Ende des Jobs eingefügt werden?

Antwort

1

In diesem Fall müssen Sie die Streaming-Jobs anhalten, bis Sie den Vorgang ausführen. Und wiederhole es, wenn du damit fertig bist. Es gibt keine Verriegelung.

Auch sollten Sie eine Abkühlphase nach dem Streaming Streaming-Einsätze erlauben, wie sie im Hintergrund verarbeitet werden und Sie müssen das System zu beenden.

1

Aufgrund des Zwischenspeichers der Tabellenmetadaten im Streaming-System dauert es derzeit ungefähr 10 Minuten, um zu erkennen, dass eine Tabelle abgeschnitten wurde. Während dieser 10 Minuten werden alle gestreamten Daten gelöscht (weil sie als Teil von abgeschnittenen Daten betrachtet werden).

Wie von Pentium10 vorgeschlagen, wird empfohlen, die Streaming-Anfragen anzuhalten, wenn Sie WRITE_TRUNCATE ausführen, und 10 Minuten nach dem Abbruch fortzusetzen.

Verwandte Themen