/* Ref.
* https://developers.google.com/apps-script/advanced/bigquery
* https://ex-ture.com/blog/2018/06/24/google-apps-script-to-update-bigquery/
* https://blog.pnkts.net/2018/04/27/spreadsheet-gas-csv/
*/
function loadCsv() {
var projectId = 'curious-ivy-826';
var datasetId = 'prod_pfm_kpi';
var tableId = 'mau2';
var table = {
tableReference: {
projectId: projectId,
datasetId: datasetId,
tableId: tableId
},
schema: {
fields: [
{name: 'date', type: 'string'},
{name: 'uu', type: 'integer'}
]
}
};
try {
BigQuery.Tables.remove(projectId, datasetId, tableId);
} catch (e) {}
table = BigQuery.Tables.insert(table, projectId, datasetId);
Logger.log('Table created: %s', table.id);
var data = Utilities.newBlob(loadData()).setContentType('application/octet-stream');
var job = {
configuration: {
load: {
destinationTable: {
projectId: projectId,
datasetId: datasetId,
tableId: tableId
},
skipLeadingRows: 1
}
}
};
job = BigQuery.Jobs.insert(job, projectId, data);
Logger.log('Load job started. Check on the status of it here: ' +
'https://bigquery.cloud.google.com/jobs/%s', projectId);
}
function loadData() {
var data = SpreadsheetApp.getActiveSheet().getDataRange().getValues();
var csv = '';
for(var i = 0; i < data.length; i++) {
csv += data[i].join(',') + "\r\n";
}
Logger.log(csv);
return csv;
}