Wenn ich beispielsweise einen Dataflow-Streaming-Job mit einem 5-Minuten-Fenster habe, das von PubSub liest, verstehe ich, dass wenn ich einem Element einen zwei Tage zurückliegenden Zeitstempel zuweiße, ein Fenster mit diesem Element vorhanden ist Beispiel, das tägliche Tabellen an BigQuery ausgibt, die in BigQueryIO.java beschrieben werden, schreibt der Job das zwei Tage nachher Element in einer BigQuery-Tabelle mit dem tatsächlichen Datum.Ist es möglich, BigQuery-Tabellennamen basierend auf den Zeitstempeln der Elemente eines Fensters dynamisch zu generieren?
Ich möchte vergangene Elemente in BigQuery-Tabellen mit dem Zeitstempel der Elemente des Fensters statt der Zeit des aktuellen Fensters schreiben, ist das möglich?
Jetzt verfolge ich das Beispiel in DataflowJavaSDK beschrieben/sdk/src/main/java/com/google/Cloud/Datenfluß/sdk/io/BigQueryIO.java:
PCollection<TableRow> quotes = ...
quotes.apply(Window.<TableRow>info(CalendarWindows.days(1)))
.apply(BigQueryIO.Write
.named("Write")
.withSchema(schema)
.to(new SerializableFunction<BoundedWindow, String>() {
public String apply(BoundedWindow window) {
String dayString = DateTimeFormat.forPattern("yyyy_MM_dd").parseDateTime(
((DaysWindow) window).getStartDate());
return "my-project:output.output_table_" + dayString;
}
}));
uns Zeigen Sie etwas Code, da es nicht klar, was Sie fordern. – Pentium10
Pentium10 - Ich habe die Frage mit dem Code aktualisiert, den ich jetzt verwende. – bsmarcosj