Mit dem BigQuery-Dienst können Sie die Google BigQuery API in Apps Script verwenden. Mit dieser API können Nutzer ihre BigQuery-Projekte verwalten, neue Daten hochladen und Abfragen ausführen.
Referenz
Ausführliche Informationen zu diesem Dienst finden Sie in der Referenzdokumentation für die BigQuery API.
Wie alle erweiterten Dienste in Apps Script verwendet der BigQuery-Dienst dieselben Objekte, Methoden und Parameter wie die öffentliche API. Weitere Informationen finden Sie unter Methodensignaturen bestimmen.
Informationen zum Melden von Problemen und zum Erhalten anderer Supportoptionen finden Sie im Google Cloud-Supportleitfaden.
Beispielcode
Im folgenden Codebeispiel wird Version 2 der API verwendet.
Abfrage ausführen
In diesem Beispiel wird eine Liste der täglichen Top-Suchbegriffe der Google Suche abgefragt.
/** * Runs a BigQuery query and logs the results in a spreadsheet. */functionrunQuery(){// Replace this value with the project ID listed in the Google// Cloud Platform project.constprojectId='XXXXXXXX';constrequest={// TODO (developer) - Replace query with yoursquery:'SELECTrefresh_dateASDay,termASTop_Term,rank'+'FROM`bigquery-public-data.google_trends.top_terms`'+'WHERErank=1'+'ANDrefresh_date>=DATE_SUB(CURRENT_DATE(),INTERVAL2WEEK)'+'GROUPBYDay,Top_Term,rank'+'ORDERBYDayDESC;',useLegacySql:false};letqueryResults=BigQuery.Jobs.query(request,projectId);constjobId=queryResults.jobReference.jobId;// Check on status of the Query Job.letsleepTimeMs=500;while(!queryResults.jobComplete){Utilities.sleep(sleepTimeMs);sleepTimeMs*=2;queryResults=BigQuery.Jobs.getQueryResults(projectId,jobId);}// Get all the rows of results.letrows=queryResults.rows;while(queryResults.pageToken){queryResults=BigQuery.Jobs.getQueryResults(projectId,jobId,{pageToken:queryResults.pageToken});rows=rows.concat(queryResults.rows);}if(!rows){console.log('Norowsreturned.');return;}constspreadsheet=SpreadsheetApp.create('BigQueryResults');constsheet=spreadsheet.getActiveSheet();// Append the headers.constheaders=queryResults.schema.fields.map(function(field){returnfield.name;});sheet.appendRow(headers);// Append the results.constdata=newArray(rows.length);for(leti=0;i < rows.length;i++){constcols=rows[i].f;data[i]=newArray(cols.length);for(letj=0;j < cols.length;j++){data[i][j]=cols[j].v;}}sheet.getRange(2,1,rows.length,headers.length).setValues(data);console.log('Resultsspreadsheetcreated:%s',spreadsheet.getUrl());}
CSV-Daten laden
In diesem Beispiel wird eine neue Tabelle erstellt und eine CSV-Datei aus Google Drive in diese Tabelle geladen.
/** * Loads a CSV into BigQuery */functionloadCsv(){// Replace this value with the project ID listed in the Google// Cloud Platform project.constprojectId='XXXXXXXX';// Create a dataset in the BigQuery UI (https://bigquery.cloud.google.com)// and enter its ID below.constdatasetId='YYYYYYYY';// Sample CSV file of Google Trends data conforming to the schema below.// https://docs.google.com/file/d/0BwzA1Orbvy5WMXFLaTR1Z1p2UDg/editconstcsvFileId='0BwzA1Orbvy5WMXFLaTR1Z1p2UDg';// Create the table.consttableId='pets_'+newDate().getTime();lettable={tableReference:{projectId:projectId,datasetId:datasetId,tableId:tableId},schema:{fields:[{name:'week',type:'STRING'},{name:'cat',type:'INTEGER'},{name:'dog',type:'INTEGER'},{name:'bird',type:'INTEGER'}]}};try{table=BigQuery.Tables.insert(table,projectId,datasetId);console.log('Tablecreated:%s',table.id);}catch(err){console.log('unabletocreatetable');}// Load CSV data from Drive and convert to the correct format for upload.constfile=DriveApp.getFileById(csvFileId);constdata=file.getBlob().setContentType('application/octet-stream');// Create the data upload job.constjob={configuration:{load:{destinationTable:{projectId:projectId,datasetId:datasetId,tableId:tableId},skipLeadingRows:1}}};try{constjobResult=BigQuery.Jobs.insert(job,projectId,data);console.log(`Loadjobstarted.Status:${jobResult.status.state}`);}catch(err){console.log('unabletoinsertjob');}}
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-05-08 (UTC)."],[[["The BigQuery service in Apps Script enables management of BigQuery projects, data uploads, and query execution using the Google BigQuery API."],["This advanced service requires prior enabling before use and leverages the same structure as the public API."],["Sample code is provided demonstrating how to run a query to retrieve Google Search terms and load CSV data into BigQuery."],["Users can consult the Google Cloud support guide for troubleshooting and support related to the BigQuery service."]]],[]]