Performance Bigquery.go导出作业比WebGUI慢
后续行动 现在我发现我的两份工作分别需要2-4秒和8-15秒 当我从Bigquery.go客户端库运行我的两个作业时,它们会在50-70秒后完成。我使用job.Wait()并尝试了自己的轮询函数(每5秒轮询一次),但没有明显的变化。这是客户端库中的问题,是链接级别的问题还是我的代码问题 作业1(数据库查询,~5s通过控制台检查) 作业2(通过控制台检查时约12秒) 之后是一个代码为200的简单返回Performance Bigquery.go导出作业比WebGUI慢,performance,google-app-engine,go,google-bigquery,google-cloud-storage,Performance,Google App Engine,Go,Google Bigquery,Google Cloud Storage,后续行动 现在我发现我的两份工作分别需要2-4秒和8-15秒 当我从Bigquery.go客户端库运行我的两个作业时,它们会在50-70秒后完成。我使用job.Wait()并尝试了自己的轮询函数(每5秒轮询一次),但没有明显的变化。这是客户端库中的问题,是链接级别的问题还是我的代码问题 作业1(数据库查询,~5s通过控制台检查) 作业2(通过控制台检查时约12秒) 之后是一个代码为200的简单返回 我知道有些代码不起任何作用,稍后将被删除。尝试创建一个简单的可运行示例,并将其作为问题发布在git
我知道有些代码不起任何作用,稍后将被删除。尝试创建一个简单的可运行示例,并将其作为问题发布在github的库问题跟踪程序上。这可能是一个实现错误。@Pentium10考虑到我将数据导出到GCS,我该怎么做?您可以使用公共数据进行导出,您可以将GCS路径保留为编辑状态只是一个猜测,但我想知道Go库是否将默认查询优先级设置为
批处理
,而不是交互式
。您是否可以尝试显式地将QueryPriority
设置为Interactive,看看这是否有帮助?如果您在WebUI中将其设置为batch
,那么时报是否会排队?@GrahamPolley API至少明确表示,它将它们设置为默认的交互式,尝试创建一个简单的可运行示例,并将其作为问题发布在github的库问题跟踪器上。这可能是一个实现错误。@Pentium10考虑到我将数据导出到GCS,我该怎么做?您可以使用公共数据进行导出,您可以将GCS路径保留为编辑状态只是一个猜测,但我想知道Go库是否将默认查询优先级设置为批处理
,而不是交互式
。您是否可以尝试显式地将QueryPriority
设置为Interactive,看看这是否有帮助?如果您在WebUI中将其设置为batch
,那么times是否会排队?@GrahamPolley API至少明确表示,它将它们设置为默认的交互式
job, err := database_query.Run(ctx)
if err != nil {
return err
}
jobID := job.ID()
job, err = client.JobFromID(ctx, jobID)
if err != nil {
return err
}
status, err := job.Wait(ctx)
if err != nil {
return err
}
job_extract, err := extractor.Run(ctx)
if err != nil {
return err
}
status, err = job_extract.Wait(ctx)
if err != nil {
return err
}
if status.Err() != nil {
handler.Logger.Criticalf("Job failed with error %v", status.Err())
return status.Err()
}