Google bigquery 检索Tabledata在90秒后取消
我正在尝试使用API方法Google bigquery 检索Tabledata在90秒后取消,google-bigquery,Google Bigquery,我正在尝试使用API方法Tabledata:list从表中并行检索数据 为此,我使用.NET NuGet包Google.api.Bigquery.v2,并从中选择方法TabledataResource.ListRequest.Execute()或方法TabledataResource.ListRequest.ExecuteAsync(),等待任务完成 在这两种情况下,调用此方法都引发异常,该任务被取消。它发生在调用方法大约90秒后 你有过这样的经历吗?你对如何改变这个限额有什么建议吗?还是为了解
Tabledata:list
从表中并行检索数据
为此,我使用.NET NuGet包Google.api.Bigquery.v2
,并从中选择方法TabledataResource.ListRequest.Execute()
或方法TabledataResource.ListRequest.ExecuteAsync()
,等待任务完成
在这两种情况下,调用此方法都引发异常,该任务被取消。它发生在调用方法大约90秒后
你有过这样的经历吗?你对如何改变这个限额有什么建议吗?还是为了解决问题
ParallelOptions po = new ParallelOptions
{
MaxDegreeOfParallelism = 30
};
List<Int32> results = new List<Int32>();
const Int32 __NUM_OF_ITEMS = 10000;
Parallel.ForEach(Enumerable.Range(0, 30), po, index =>
{
TabledataResource.ListRequest listRequest = _service.Tabledata.List(
resultTable.ProjectId,
resultTable.DatasetId,
resultTable.TableId
);
listRequest.PageToken = pageToken;
listRequest.StartIndex = (UInt64?) index * __NUM_OF_ITEMS;
TableDataList tdl = listRequest.Execute();
});
我的表有14M行,无法获得启动索引8M的结果(引发了上述异常)。您的pageToken来自哪里?有一个setMaxLimit()来设置要返回的最大结果数。也许您可以尝试发出较小的请求,看看是否会成功。检查我的编辑。PageToken为空。我设置了
listRequest.MaxResults=100
。
[INF 2015-05-15 09:26:33.283] Testing retrieval speed.
[INF 2015-05-15 09:26:34.431] startIndex=0 retrievedItems=100 timeSpent=1147 ms.
[INF 2015-05-15 09:26:51.210] startIndex=1000000 retrievedItems=100 timeSpent=16779 ms.
[INF 2015-05-15 09:27:11.166] startIndex=2000000 retrievedItems=100 timeSpent=19955 ms.
[INF 2015-05-15 09:27:36.400] startIndex=3000000 retrievedItems=100 timeSpent=25234 ms.
[INF 2015-05-15 09:28:22.744] startIndex=4000000 retrievedItems=100 timeSpent=46344 ms.
[INF 2015-05-15 09:29:36.057] startIndex=5000000 retrievedItems=100 timeSpent=73314 ms.
[INF 2015-05-15 09:30:33.153] startIndex=6000000 retrievedItems=100 timeSpent=57095 ms.
[INF 2015-05-15 09:31:44.062] startIndex=7000000 retrievedItems=100 timeSpent=70910 ms.