2016-08-09 78 views
1

Während ein Kopierauftrag aus einer temporären Tabelle einreichen, die nicht an den Finaltisch unterteilt ist, die Partition für Tag hat, wie ich empfangenGoogle BigQuery: Inkompatible Tabellenpartitionierung Spezifikation

cause:java.io.IOException: ErrorMessage: Incompatible table partitioning specification. Expects partitioning specification interval(type:day), but input partitioning specification is none; 

So gibt es irgendwelche Beschränkungen für die Eingabetabelle für Kopierjob in partitionierte Tabelle und wie können diese überwunden werden? Temporäre Tabelle wird in der Klasse hadoop bigquery-connector mit Load-Job erstellt. Und JobConfigurationLoad hat überhaupt keine Spezifikation der Zeitpartitionierung.

Antwort

1

Können Sie bitte versuchen, die Partition Meta-Tabelle für den gewünschten Tag vorerst zu verwenden? Ich habe intern ein Problem eingereicht, um dieses Szenario zu unterstützen. So etwas wie das sollte funktionieren:

bq --project_id=<project> cp <source_table> <destination_partitioned_table$20160809> 
+0

Hallo, Pavan! Danke für Ihre Antwort! Die Hauptfrage ist - kann ich nicht existierende Partitionen angeben? Ich meine, wenn ich zum Beispiel die destination_partitioned_table $ 20160801 angeben und es keine Daten hat, wird es automatisch erstellt? – Alexey

+0

Ja, es wird in diesem Fall automatisch erstellt. –

+0

Cool, vielen Dank! – Alexey