2016-07-18 8 views
2

Unser Anwendungsfall für BigQuery ist ein wenig einzigartig. Ich möchte anfangen, Date-Partitioned Tables zu verwenden, aber unsere Daten sind sehr wahrscheinlich. Es wird nicht eingefügt, wenn es auftritt, aber schließlich, wenn es dem Server zur Verfügung gestellt wird. Manchmal kann dies Tage oder sogar Monate dauern, bevor irgendwelche Daten eingefügt werden. Daher ist das Attribut _PARTITION_LOAD_TIME für uns nutzlos.Google Big Query - Datum-partitionierte Tabellen mit eventuellen Daten

Meine Frage gibt es eine Möglichkeit, ich kann die Spalte angeben, die wie das _PARTITION_LOAD_TIME-Argument handeln würde und immer noch die Vorteile einer Date-Partitioned-Tabelle haben? Wenn ich dies manuell emulieren könnte und BigQuery entsprechend aktualisieren würde, dann könnte ich Date-Partitioned-Tabellen verwenden.

Wer hat hier eine gute Lösung?

Antwort

2

Sie müssen keine eigene Spalte erstellen.
_PARTITIONTIME Pseudospalte wird immer noch für Sie arbeiten!
Das einzige, was Sie tun müssen, ist das Einfügen/Laden entsprechenden Datenstapel in entsprechende Partition durch Verweis nicht nur Tabellenname, sondern Tabelle mit Partition Dekorator - wie Yourtable $ 20160718 Auf diese Weise können Sie Daten in die Partition laden, die es gehören

+0

Perfekt, da ich schon dabei bin, meine Tische aufzuteilen. Ich muss nur ändern, wie ich es referenziere. :) – Dovy

+0

Was ist mit einer massiven Tabelle und dann mit einer Spalte, um sie in eine Tag-Partitionierte Tabelle zu trennen? Ist das möglich, oder ist es am besten, die einzelnen Tabellen zu erstellen und dann in eine Datums-/Uhrzeit-Tabelle zu konvertieren? – Dovy

+0

Wenn Sie bereits mit Tabellen (mit YYYMMDD-Suffix) datiert sind - ich würde empfehlen, sie in partitionierte Tabellen zu konvertieren - siehe Details in https://cloud.google.com/bigquery/docs/creating-partitioned-tables#converting_dated_tables_into_a_partitioned_table –

Verwandte Themen