如何使用 googleapis bigquery api 进行选择
Posted
技术标签:
【中文标题】如何使用 googleapis bigquery api 进行选择【英文标题】:How do I select using googleapis bigquery api 【发布时间】:2016-08-07 10:57:42 【问题描述】:我正在使用const google = require('googleapis');
流式传输到 google bigquery,但现在当我想选择我的数据库时,我感到很困惑。
查看我需要使用bigquery.jobs.query
的文档,但我不明白实际选择应该放在哪里。
var query = `select 1 `;
bqBooking.auth = jwtClient;
bigquery.jobs.query(bqBooking, function (err, rows)
if (err)
return callback(err);
printExample(rows);
callback(null, rows);
);
【问题讨论】:
【参考方案1】:/**
* Run an example query.
*
* @param Function callback Callback function.
*/
function queryExample (callback)
var query = 'SELECT TOP(corpus, 10) as title, COUNT(*) as unique_words\n' +
'FROM [publicdata:samples.shakespeare];';
bigquery.query(query, function (err, rows)
if (err)
return callback(err);
printExample(rows);
callback(null, rows);
);
https://cloud.google.com/bigquery/create-simple-app-api
【讨论】:
问题是这个示例使用了 var gcloud = require('gcloud');当我使用 const google = require('googleapis');【参考方案2】:可以在bigQuery.jobs.query example 的“请求正文”中将查询作为参数传递,如link 所示,请在第二个链接中使用“试用此 API”选项。
var google = require('googleapis');
var bigquery = google.bigquery('v2');
authorize(function(authClient)
var request =
// Project ID of the project billed for the query
projectId: '', // TODO: Update placeholder value.
resource:
// TODO: Add desired properties to the request body.
"query": "Select channel, sum(totalRequests) from
conversation_logs.RequestSummary WHERE timeStamp >
TIMESTAMP('2017-09-03 00:00:00 UTC') Group by channel;",
"maxResults": 1,
"useLegacySql": false
,
auth: authClient
;
bigquery.jobs.query(request, function(err, response)
if (err)
console.log(err);
return;
// TODO: Change code below to process the `response` object:
console.log(JSON.stringify(response, null, 2));
);
);
function authorize(callback)
google.auth.getApplicationDefault(function(err, authClient))
if (err)
console.log('authentication failed: ', err);
return;
if (authClient.createScopedRequired &&
authClient.createScopedRequired())
var scopes = ['https://www.googleapis.com/auth/cloud-
platform'];
authClient = authClient.createScoped(scopes);
callback(authClient);
);
【讨论】:
以上是关于如何使用 googleapis bigquery api 进行选择的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 PHP bigquery 客户端库对 bigquery 数据进行分页?
Google API - Android BigQuery 客户端的应用级授权
googleapis / python-bigquery:Client.load_dataframe_to_table 失败并出现 PyArrow “TypeError:需要一个整数(获取类型 str