2014-04-18 3 views
8

Ich habe eine Reihe von Tag sharded Daten wo einzelne Einträge nicht den Tag enthalten. Ich möchte Tabellenplatzhalter verwenden, um alle verfügbaren Daten auszuwählen und Daten zurückzurufen, die sowohl nach der Spalte, an der ich interessiert bin, als auch nach dem Tag, an dem sie erfasst wurde, gruppiert sind. Etwas, mit anderen Worten, wie folgt aus:Gibt es eine Möglichkeit zum Auswählen von Tabellennummer in einem BigQuery Table Wildcard-Abfrage

SELECT table_id, identifier, Sum(AppAnalytic) as AppAnalyticCount 
    FROM (TABLE_QUERY(database_main,'table_id CONTAINS "Title_" AND length(table_id) >= 4')) 
    GROUP BY identifier, table_id order by AppAnalyticCount DESC LIMIT 10 

Natürlich ist dies nicht wirklich funktionieren, weil table_id nicht sichtbar in der Tabelle Aggregation ist aus der TABLE_QUERY Funktion. Gibt es einen Weg, dies zu erreichen? Irgendeine Art von Beitreten zu Tabellenmetadaten vielleicht?

Antwort

4

Diese Funktionalität ist jetzt in BigQuery durch _TABLE_SUFFIX Pseudo. Die vollständige Dokumentation finden Sie unter https://cloud.google.com/bigquery/docs/querying-wildcard-tables. paar Dinge zu beachten:

  • Sie müssen Standard SQL verwenden Tabelle
  • Sie müssen umbenennen _TABLE_SUFFIX in sonst etwas in Ihrer SELECT Liste, dh folgende Beispiel zeigt es

    zu ermöglichen Wildcards SELECT _TABLE_SUFFIX as table_id, ... FROM `MyDataset.MyTablePrefix_*`

9

Nicht verfügbar heute, aber etwas, das ich auch gerne haben würde. Das Team nimmt Feature-Anfragen ernst, also danke für die Unterstützung für dieses :).

In der Zwischenzeit führt eine Problemumgehung eine manuelle Vereinigung eines SELECT jeder Tabelle plus einer zusätzlichen Spalte mit den Datumsdaten durch.

Zum Beispiel statt:

SELECT x, #TABLE_ID 
FROM table201401, table201402, table201303 

Sie tun können:

SELECT x, month 
FROM 
    (SELECT x, '201401' AS month FROM table201401), 
    (SELECT x, '201402' AS month FROM table201402), 
    (SELECT x, '201403' AS month FROM table201403) 
+0

Fh, du hast meine Unterstützung zu ... –

+1

bringen und Stimme für Sie r feature requests hier: https://code.google.com/p/google-bigquery/issues/list?q=label:Feature-Request –

+1

Sieht aus wie [163] (https://code.google.com/p/google-bigquery/issues/detail? id = 163) ist der Fehler, über den wir abstimmen sollten, um diese Funktion zu erhalten. –

Verwandte Themen