我正在使用bigQueryR包,特别是函数bqr_list_tables来获取Google Big Query中数据集中所有表的列表。
我的问题是,当我理想地想要获得所有表格时,我只能得到50个表格,所以我可以通过编程方式重新编写我想要的表格。
bqr_list_tables只接受两个参数,即datasetId和projectId。有没有办法实现这个限制我自己的这个包?
我正在使用bigQueryR的版本'0.2.0
编辑:
答案 0 :(得分:1)
我没有安装最新的github版本,而是直接使用了repo https://github.com/cloudyr/bigQueryR/blob/master/R/tables.R中的以下代码,没有任何问题并按照规定运行。
bqr_list_tables <- function(projectId, datasetId, maxResults = 1000, pageToken = ""){
l <- googleAuthR::gar_api_generator("https://www.googleapis.com/bigquery/v2",
"GET",
path_args = list(projects = projectId,
datasets = datasetId,
tables = ""),
pars_args = list(maxResults = maxResults,
pageToken = pageToken),
data_parse_function = parse_bqr_list_tables)
out <- l(path_arguments = list(projects = projectId,
datasets = datasetId))
out
}
parse_bqr_list_tables <- function(x) {
d <- x$tables
data.frame(id = d$id,
projectId = d$tableReference$projectId,
datasetId = d$tableReference$datasetId,
tableId = d$tableReference$tableId, stringsAsFactors = FALSE)
}