Создайте набор данных BigQuery.
function createDataSet() { // Replace this value with the project ID listed in the Google // Cloud Platform project. var projectId = 'INSERT_PROJECT_ID_HERE'; var dataSetId = 'INSERT_DATASET_ID_HERE'; var dataSet = BigQuery.newDataset(); dataSet.id = dataSetId; dataSet.friendlyName = 'Fruit prices'; dataSet.datasetReference = BigQuery.newDatasetReference(); dataSet.datasetReference.projectId = projectId; dataSet.datasetReference.datasetId = dataSetId; dataSet = BigQuery.Datasets.insert(dataSet, projectId); console.log('Data set with ID = %s, Name = %s created.', dataSet.id, dataSet.friendlyName); }
Создайте таблицу данных BigQuery.
function createTable() { // Replace this value with the project ID listed in the Google // Cloud Platform project. var projectId = 'INSERT_PROJECT_ID_HERE'; var dataSetId = 'INSERT_DATASET_ID_HERE'; var tableId = 'INSERT_TABLE_ID_HERE'; var table = BigQuery.newTable(); var schema = BigQuery.newTableSchema(); var nameFieldSchema = BigQuery.newTableFieldSchema(); nameFieldSchema.description = 'Name'; nameFieldSchema.name = 'Name'; nameFieldSchema.type = 'STRING'; var ageFieldSchema = BigQuery.newTableFieldSchema(); ageFieldSchema.description = 'Price'; ageFieldSchema.name = 'Price'; ageFieldSchema.type = 'FLOAT'; schema.fields = [ nameFieldSchema, ageFieldSchema ]; table.schema = schema; table.id = tableId; table.friendlyName = 'Fruit prices'; table.tableReference = BigQuery.newTableReference(); table.tableReference.datasetId = dataSetId; table.tableReference.projectId = projectId; table.tableReference.tableId = tableId; table = BigQuery.Tables.insert(table, projectId, dataSetId); console.log('Data table with ID = %s, Name = %s created.', table.id, table.friendlyName); }
Импортировать в таблицу данных BigQuery.
function importData() { // Replace this value with the project ID listed in the Google // Cloud Platform project. var projectId = 'INSERT_PROJECT_ID_HERE'; var dataSetId = 'INSERT_DATASET_ID_HERE'; var tableId = 'INSERT_TABLE_ID_HERE'; var insertAllRequest = BigQuery.newTableDataInsertAllRequest(); insertAllRequest.rows = []; var row1 = BigQuery.newTableDataInsertAllRequestRows(); row1.insertId = 1; row1.json = { 'Name': 'Orange', 'Price': 3.34 }; insertAllRequest.rows.push(row1); var row2 = BigQuery.newTableDataInsertAllRequestRows(); row2.insertId = 2; row2.json = { 'Name': 'Grape', 'Price': 5.48 }; insertAllRequest.rows.push(row2); var row3 = BigQuery.newTableDataInsertAllRequestRows(); row3.insertId = 3; row3.json = { 'Name': 'Apple', 'Price': 2.50 }; insertAllRequest.rows.push(row3); var result = BigQuery.Tabledata.insertAll(insertAllRequest, projectId, dataSetId, tableId); if (result.insertErrors != null) { var allErrors = []; for (var i = 0; i < result.insertErrors.length; i++) { var insertError = result.insertErrors[i]; allErrors.push(Utilities.formatString('Error inserting item: %s', insertError.index)); for (var j = 0; j < insertError.errors.length; j++) { var error = insertError.errors[j]; allErrors.push(Utilities.formatString('- ' + error)); } } console.log(allErrors.join('\n')); } else { console.log(Utilities.formatString('%s data rows inserted successfully.', insertAllRequest.rows.length)); } }
Запуск запроса к таблице данных BigQuery
function queryDataTable() { // Replace this value with the project ID listed in the Google // Cloud Platform project. var projectId = 'INSERT_PROJECT_ID_HERE'; var dataSetId = 'INSERT_DATASET_ID_HERE'; var tableId = 'INSERT_TABLE_ID_HERE'; var fullTableName = projectId + ':' + dataSetId + '.' + tableId; var queryRequest = BigQuery.newQueryRequest(); queryRequest.query = 'select Name, Price from [' + fullTableName + '];'; var query = BigQuery.Jobs.query(queryRequest, projectId); if (query.jobComplete) { for (var i = 0; i < query.rows.length; i++) { var row = query.rows[i]; var values = []; for (var j = 0; j < row.f.length; j++) { values.push(row.f[j].v); } console.log(values.join(',')); } } }