将BigQuery表导入R Studio时遭遇Page Size错误求助
问题:使用
bq_table_download()下载BigQuery表时触发分页大小错误 我用bq_table_download()下载一个仅408,000行的BigQuery表,这个行数本不该触发分页大小错误,但收到如下报错:
下载第一块数据。
第一块收到57,851行。
将剩余349,733行分为9块(每块最多43,388行)进行下载。
错误:请求了407584行,但仅收到392485行。
请不指定page_size或使用更小的值。
尝试过以下代码:
# 最初触发page_size错误的代码 table_name <- bq_table_download(tb) # 后续尝试的代码 table_name <- bq_table_download(tb, page_size=NULL, start_index = 0L, max_connections = 6L, n_max = Inf)
求解决该分页大小错误的方法。
解决方法
- 显式设置更小的
page_size值:自动计算的分页大小可能仍存在偏差,手动指定一个较小的固定值,比如page_size = 10000,强制降低单页请求行数,避免请求与返回行数不匹配:table_name <- bq_table_download(tb, page_size = 10000) - 降低并发连接数:当前设置的
max_connections = 6L可能过高,尝试降低到3或4,减少并发请求导致的行数统计偏差:table_name <- bq_table_download(tb, max_connections = 3L) - 分批次手动分段下载:拆分下载范围,分多次请求不同行区间后合并结果,避免大批次分页计算错误:
# 下载前20万行 batch1 <- bq_table_download(tb, n_max = 200000) # 下载剩余行 batch2 <- bq_table_download(tb, start_index = 200000L) # 合并结果 table_name <- rbind(batch1, batch2) - 确认表数据状态:如果下载过程中表有数据写入/删除,会导致总行数与分页计算不匹配,确保下载期间表处于静态状态,或先创建表快照再下载。
内容的提问来源于stack exchange,提问作者ddbd1417
相关产品推荐
相关产品推荐

