我编写了一个独立的脚本,用于将数据从csv文件加载到bigquery,但我想知道如何将数据从电子表格加载到bigquery。这是我将数据从csv加载到bigquery的代码。我想知道在哪里更改谷歌电子表格而不是csv文件。
function loadCsv() {
// Replace this value with the project ID listed in the Google
// Developers Console project.
var projectId = '775034665452';
var datasetId = 'DEV';
// Sample CSV file of Google Trends data conforming to the schema below.
// https://docs.google.com/file/d/0BwzA1Orbvy5WMXFLaTR1Z1p2UDg/edit
var csvFileId = '0BwzA1Orbvy5WMXFLaTR1Z1p2UDg';
// Create the table.
var tableId = 'pets_' + new Date().getTime();
var table = {
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'}
]
}
};
table = BigQuery.Tables.insert(table, projectId, datasetId);
Logger.log('Table created: %s', table.id);
// Load CSV data from Drive and convert to the correct format for upload.
var file = DriveApp.getFileById(csvFileId);
var data = file.getBlob().setContentType('application/octet-stream');
// Create the data upload job.
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);
}
答案 0 :(得分:0)
您必须先将数据加载到BigQuery中,然后才能运行查询。
您可以通过以下方式load data:
可以将加载的数据添加到新表中,附加到表中,也可以覆盖表。
BigQuery支持从多种源格式加载数据,包括CSV,JSON,Avro和Google Cloud Datastore备份文件。有关详细信息,请参阅Data Formats。
加载 CSV 文件,请检查:https://cloud.google.com/bigquery/loading-data#loading_csv_files