2016-07-28 1 views
2

Wir versuchen, etwas in BigQuery zu tun, von dem wir denken, dass es relativ einfach sein sollte, aber in eine Mauer gerät. Wir möchten im Wesentlichen Daten aus einer zusammengeschlossenen großen Abfragetabelle abrufen und sie täglich in eine "historische" Tabelle kopieren.Wie föderierte Tabellendaten täglich in einer historischen Tabelle gespeichert werden - Google BigQuery

In SQL konnte dies leicht mit INSERT INTO und einer SELECT-Abfrage erreicht werden, aber dies scheint in BigQuery nicht möglich.

Gibt es eine einfache Möglichkeit, die Ergebnisse einer Abfrage mithilfe der BigQuery-API in eine andere Tabelle einzufügen, idealerweise von einem an ein Google-Blatt angehängten Google-Skript?

+0

sehen Haben Sie Dokumentation für jobs.insert lesen ? Sollte sehr einfach sein. Was hast du bisher versucht? –

+0

Mögliches Duplikat von [Materializing BigQuery-Daten] (http://stackoverflow.com/questions/38522145/materialization-bigquery-data) –

+0

Wichtig auf SO, können Sie akzeptierte Antwort markieren, indem Sie das Häkchen auf der linken Seite der veröffentlichten Antwort verwenden, unter der Abstimmung. Siehe http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work#5235, warum dies wichtig ist. Auch wichtig, auf der Antwort zu stimmen. Stimmen Sie Antworten ab, die hilfreich sind. Es gibt mehr ... Sie können überprüfen, was zu tun ist, wenn jemand Ihre Frage beantwortet - http://stackoverflow.com/help/someone-answers. –

Antwort

1

Gibt es eine einfache Möglichkeit, die Ergebnisse einer Abfrage in eine andere Tabelle mit dem BigQuery API, idealerweise von einem Google-Script an ein Google-Tabellenblatt einfügen?

Sie können Jobs: insert API für Details überprüfen, aber schnelles Beispiel unten zeigen, wie es für Apps Script aussehen kann

var myQuery = 'SELECT TOP(word, 300) AS word, COUNT(*) AS word_count FROM publicdata:samples.shakespeare WHERE LENGTH(word) > 10' 
var myProjectId = 'XXXXXXXX' 
var myDatasetId = 'YYYYYYYY' 
var myTableId = 'History' 

var job = { 
    configuration: { 
    query: { 
     query: myQuery, 
     writeDisposition:'WRITE_APPEND', 
     destinationTable: { 
     projectId: myProjectId, 
     datasetId: myDatasetId, 
     tableId: myTableId 
    }}}}; 

var queryResults = BigQuery.Jobs.insert(job, myProjectId); 

Sie können mehr über BigQuery and Apps Script

Verwandte Themen