Le service BigQuery vous permet d'utiliser l'API Google BigQuery dans Apps Script. Cette API permet aux utilisateurs de gérer leurs projets BigQuery, d'importer de nouvelles données et d'exécuter des requêtes.
Référence
Pour en savoir plus sur ce service, consultez la documentation de référence de l'API BigQuery.
Comme tous les services avancés d'Apps Script, le service BigQuery utilise les mêmes objets, méthodes et paramètres que l'API publique. Pour en savoir plus, consultez la section Détermination des signatures de méthode.
/** * 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());}
Charger des données CSV
Cet exemple crée une table et y charge un fichier CSV à partir de Google Drive.
/** * 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');}}
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/12/21 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2024/12/21 (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."]]],[]]