2017-07-10 2 views
1

Ich habe diese Lösung Migrating from non-partitioned to Partitioned tables versucht, aber ich bekomme diesen Fehler. "Fehler: Zeilen, die größer als 100 MB sind, können nicht abgefragt werden."Wie erstelle ich partitionierte Tabelle aus nicht partitionierten Tabelle in BigQuery mit Abfrage?

Job-ID: sandbox-kiana-analytics: bquijob_4a1b2032_15d2c7d17f3.

+0

Hallo und willkommen zu StackOverflow. Bitte nehmen Sie sich etwas Zeit, um die Hilfeseite zu lesen, insbesondere die Abschnitte mit dem Namen ["Welche Themen kann ich hier fragen?"] (Http://stackoverflow.com/help/on-topic) und ["Welche Arten von Fragen sollte ich haben nicht fragen? "] (http://stackoverflow.com/help/dont-ask). Und, was noch wichtiger ist, lesen Sie bitte [die Checkliste für Stack Overflow-Fragen] (http://meta.stackexchange.com/q/156810/204922). Vielleicht möchten Sie auch etwas über [Minimale, vollständige und überprüfbare Beispiele] (http://stackoverflow.com/help/mcve) erfahren. – herrbischoff

Antwort

1

Vidhya,

Ich sah intern an der Abfrage, die Sie BigQuery gesendet und kann als Teil der Abfrage sehen, dass Sie verwenden ARRAY_AGG() in einer Reihe, alle Daten für einen Tag zu legen. Dies führt zu sehr großen Zeilen, die letztendlich das Limit von 100 MB pro Zeile von Big Query überschreiten. Dies ist eine ziemlich komplexe und ineffiziente Art der Partitionierung der Daten. Stattdessen empfehle ich die integrierte Unterstützung für die Datenpartitionierung, die von BigQuery bereitgestellt wird (example here). Bei diesem Ansatz können Sie eine leere Tabelle mit Datumspartitionierung erstellen und Tagespartitionsdaten für jeden Tag hinzufügen.

+0

Danke für Ihre Analyse! Derzeit haben wir 2 TB Daten. Wenn wir also die Abfrage so machen wollen, kostet uns das mehr Geld. Die billigste Methode, dies zu tun, indem Daten in GCS exportiert werden, aber das Problem ist, dass alle Daten dies nicht können als partitioniert nach GCS exportiert werden. –

Verwandte Themen