Kann jemand bitte vorschlagen, wie Partitionstabelle in Big Query erstellen? Beispiel: Angenommen, ich habe für das Jahr 2016 eine Protokolldatei im Google-Speicher. Ich habe alle Daten in einem Bucket nach Jahr, Monat und Datum gespeichert. Hier möchte ich eine Tabelle erstellen, die nach Datum partitioniert ist. Vielen Dank im VorausErstellen Partitionstabelle in große Abfrage
Antwort
Dokumentation für partitionierten Tabellen leicht ist hier: https://cloud.google.com/bigquery/docs/creating-partitioned-tables
In diesem Fall können Sie eine partiti schaffen würde Tabelle und füllen Sie die Partitionen mit den Daten. Sie können einen Abfrageauftrag ausführen, der GCS liest (und Daten für das bestimmte Datum filtert) und in die entsprechende Partition einer Tabelle schreibt. Um beispielsweise Daten für den 1. Mai 2016 zu laden, geben Sie die Zieltabelle als Tabelle $ 20160501 an.
Derzeit müssen Sie mehrere Abfrageaufträge ausführen, um diesen Prozess zu erreichen. Bitte beachten Sie, dass Ihnen für jeden Abfrageauftrag basierend auf verarbeiteten Byte Gebühren berechnet werden.
Bitte lesen Sie diesen Beitrag für einige weitere Details:
Es gibt zwei Möglichkeiten:
Option 1
Sie sich täglich Datei in einzelne jeweiligen Tabelle laden können mit Namen wie YourLogs_YYYYMMDD
Details sehen, wie man Load Data from Cloud Storage
Nachdem die Tabellen erstellt Sie können auf sie entweder mit Table wildcard functions (Legacy SQL) oder Wildcard Table (Standar SQL) zugreifen. Siehe auch Querying Multiple Tables Using a Wildcard Table für weitere Beispiele
Option 2
Sie können Date-Partitioned Table erstellen (nur eine Tabelle - YourLogs) - aber Sie werden immer noch jede tägliche Datei in entsprechende Partition laden müssen - Creating and Updating Date-Partitioned Tables
siehe Nach Tabelle geladen ist Sie können Query Date-Partitioned Tables
Danke Mikhil, Können Sie bitte ein Beispiel dafür geben? –
finden Sie viele Beispiele in Links. versuche dann spezifische fragen zu stellen - sonst ist es zu weit !! –
Ich habe ein Jahr Geschichte Daten in einzelnen Eimer in gs, Daten in Tag gespeichert, ich möchte Tabelle mit partitionierten Datum von großen Abfrage Web UI erstellen. Ich kann normale Tabelle erstellen, aber während der Abfrage werden alle Daten verarbeitet. Also hier möchte ich einen bestimmten Datumsbereich verarbeiten. Wie kann die Partitionstabelle aktualisiert werden? Ist es die gleiche Basistabelle wie die Partitionstabelle oder soll ich eine neue Tabelle mit Partition erstellen? Wie kann Partitionstabelle mit Datumsbereichspartitionen aktualisiert werden? Bitte hilf mir dabei? Danke im Voraus. –
Mit Partitionen für eine externe Tabelle nicht wie jetzt erlaubt. Es gibt ein Feature Request für sie:
https://issuetracker.google.com/issues/62993684
(bitte geben Sie Ihre Meinung, wenn Sie daran interessiert sind!)
Google sagt, dass sie es in Betracht ziehen.
- 1. Erstellen große Abfrage in Sqlalchemy
- 2. Nest - Partitionstabelle
- 3. Nachdem die Partitionstabelle
- 4. Erlaube große Ergebnisse in Google große Abfrage
- 5. Hazelcast Initializing Cluster-Partitionstabelle
- 6. SQL Server-Partitionstabelle Leistung
- 7. Drucken Partitionstabelle - C-Programm
- 8. Große Abfrage oder mutieren Dataframe?
- 9. komplizierte SQL-Abfrage, große Datenbank
- 10. Google große Abfrage oder Hadoop
- 11. Kleine große Abfrage mit Schleife?
- 12. Große (ish) Mysql Update-Abfrage
- 13. clojure.java.jdbc/Abfrage große Ergebnismenge träge
- 14. Wie Pivot-Tabelle in große Abfrage
- 15. große Abfrage Konvertierung von Zeichenfolge in Datumsformat
- 16. Laden von Google Tabellen in große Abfrage
- 17. Zeitunterschiede zwischen Zeile in Google große Abfrage
- 18. wie xml-Datei in große Abfrage laden
- 19. Große Abfrage in MongoDB mit Mongoose
- 20. Drill Abfrage große Zeit dauern
- 21. große SQL-Server-Abfrage Leistungsoptimierung
- 22. Hive erste zu berücksichtigende Spalte in der Partitionstabelle
- 23. OLAP Realtime-Abfrage für große Volumendaten - Optionen
- 24. Django Abfrage für große Anzahl von Beziehungen
- 25. Erstellen große Anzahl von Array in Scala
- 26. Kann nicht große Arrays erstellen
- 27. Erstellen Sie benutzerdefinierte große Benachrichtigungen
- 28. Erstellen einer Abfrage von einer anderen Abfrage
- 29. Wie erstellt man eine mehrspaltige Partitionstabelle in Greenplum?
- 30. Linq-Abfrage Verzögerung Ergebnis für große Datenmenge
Danke für die Antwort.Normalerweise, während ich in Big Data arbeitete, gibt es eine Option, um eine externe Tabelle mit partitioniertem Datum zu erstellen ("Create table foo (abc int) partitioniert von (Jahr int, Monat string, Datum int)"). Dann "Alter table foo add partition (2016," Mai "," 01 ")" ". Dann können wir gegen Tabelle als" Select * aus Tabelle where Jahr = 2016 und Monat = "Mai" und Datum = 01 "abfragen Mit einer Tabelle können wir mehrere Partitionen erstellen.In großen Abfrage, die ich suchte, gibt es eine Option wie das. Wenn Sie können mir bitte Probe Tabelle erstellen. Vielen Dank –
Sie müssen die Tabelle separat von dem Job erstellen, der auffüllt die Partitionen.Um eine Tabelle zu erstellen, siehe hier: https://cloud.google.com/bigquery/docs/creating-partitioned-tables#creatining_a_partitioned_table –
Es bedeutet, nehme an, wenn ich 1 Jahr Geschichte Daten habe dann nehme ich an, 356 Tabellen zu erstellen ?? –