Ich habe Tabellen mit dem gleichen Schema tab1
und tab1_partitioned
, wo letztere nach Tag partitioniert ist.BigQuery einfügen in eine partitionierte Tabelle aus einer vorhandenen Tabelle
Ich versuche, Daten in die partitionierten Tabelle mit dem folgenden Befehl ein:
bq query --allow_large_results --replace --noflatten_results --destination_table 'advertiser.development_partitioned$20160101' 'select * from advertiser.development where ymd = 20160101';
aber ich bekomme die folgende Fehlermeldung:
BigQuery error in query operation: Error processing job 'total-handler-133811:bqjob_r78379ac2513cb515_000001553afb7196_1': Provided Schema does not match Table
Beide haben genau das gleiche Schema, und ich wirklich don verstehe nicht, warum ich diesen Fehler bekomme. Kann jemand mein Problem beleuchten?
In der Tat, ich würde es vorziehen, wenn BigQuery die dynamische Partitionierung Einsatz unterstützt, die in Hive unterstützt wird, aber einige Tage der Suche scheinen zu zeigen ist nicht möglich: -/
Danke, Ihr Vorschlag funktioniert. Prost – gire
ein zusätzlicher Punkt in Bezug auf die dynamische Partitionierung: Was ist der beste Weg, um vorhandene Daten in eine partitionierte bigquery Tabelle einzufügen? Unsere vorhandene Tabelle in Hadoop enthält viele Daten und ist bereits partitioniert. – gire
Wenn Sie Daten in vorhandenen Shaping-Tabellen für BigQuery-Daten haben, können Sie sie mit dem Befehl bq cp in die partitionierte Tabelle kopieren. Wenn Sie Daten außerhalb der BigQuery haben, können Sie sie in BigQuery-Tabellen laden, indem Sie einen Ladejob verwenden, der als Ziel in eine Tabellenpartition schreibt (Beispiel: Tabelle $ 20160615). Dies würde sicherstellen, dass Daten in der Partition Ihrer Wahl landen. https://cloud.google.com/bigquery/docs/creating-partitioned-tables#restating_data_in_a_partition –