2016-07-28 15 views
1

Ich versuche, Datenfluss in BQ partitionierte Tabelle zu streamen. Die Dokumentation besagt Folgendes:Streaming in BQ partitionierte Tabellen

Daten im Streaming-Puffer haben einen NULL-Wert für die Spalte _PARTITIONTIME.

Ich kann sehen, das ist der Fall beim Einfügen von Zeilen in einem Datum partitionierte Tabelle.

Gibt es eine Möglichkeit, die Partitionszeit der einzufügenden Zeilen festzulegen, sodass BigQuery auf die richtige Partition schließen kann?

Bisher habe ich versucht zu tun: tableRow.set("_PARTITIONTIME", milliessinceepoch); aber ich werde mit einer no such field Ausnahme getroffen.

Antwort

1

Seit etwa einem Monat können Sie in eine bestimmte Partition einer datumspartitionierten Tabelle streamen. Um beispielsweise in die Partition für das Datum 20160501 in Tabelle T einzufügen, können Sie insertall mit dem Tabellenname T$20160501

aufrufen
0

AFAIK, zum Zeitpunkt des Schreibens erlaubt BigQuery nicht die manuelle Angabe der Partition pro Zeile - sie wird vom Zeitpunkt des Einfügens abgeleitet.

Als Alternative zur integrierten Funktion für partitionierte Tabellen von BigQuery können Sie die Dataflow-Funktion jedoch auch für das gleichzeitige Streaming zu mehreren BigQuery-Tabellen verwenden: siehe Sharding BigQuery output tables.