gpt4 book ai didi

google-bigquery - 当 BigQuery Table 正在被另一个应用程序插入时,BigQuery GetQueryResultsResponse.getPageToken() 返回 null

转载 作者:行者123 更新时间:2023-12-04 19:56:48 25 4
gpt4 key购买 nike

我有一个包含数百万条记录的 BigQuery 表。

我可以使用 GetQueryResultsResponse.getPageToken() 方法进行分页。如果底层 BigQuery 表正在获取新插入,则 getPageToken 将返回 null。如果没有发生插入,pageToken 工作正常。

如何避免这种情况,并且即使在 bigquery 表上发生插入时也能够遍历表?

我正在使用 google-api-services-bigquery v2-rev330-1.22.0"

最佳答案

不清楚,但我认为你在谈论 tables.list 分页(查询结果不能有记录流入它)

在这种情况下 - 您可以使用 startIndex 而不是 pageToken (连同 maxResults )
了解响应中的项目计数(实际页面大小),您始终可以计算要请求的下一页的起始索引(无需使用 pageToken)。
在您的应用程序中对这些启动索引进行一些额外的管理 - 您可以管理双向(下一页和上一页)的分页。
当然,您始终可以管理导航至:
第一页(startIndex = 1)

最后一页(startIndex = totalRows - 预期页面大小)。

还有一点要注意:如果表正在流式传输(您列出时一次有流式缓冲区),totalRows 可能不可用 - 在这种情况下,您可以额外调用 Tables: get API并获取numRows相反

关于google-bigquery - 当 BigQuery Table 正在被另一个应用程序插入时,BigQuery GetQueryResultsResponse.getPageToken() 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41622534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com