Я выполняю некоторые длинные запросы с использованием java-клиента большого запроса.Bigquery Api Java-клиент с прерывистым возвратом плохих результатов
Я построить работу большого запроса и выполнить как этот
val queryRequest = new QueryRequest().setQuery(query)
val queryJob = client.jobs().query(ProjectId, queryRequest)
queryJob.execute()
Проблема я обращенную это для того же самого запроса, клиент возвращает до завершения задания т.е. количество строк в результате является нуль.
Я попытался напечатать ответ, и это показывает
{"jobComplete":false,"jobReference":{"jobId":"job_bTLRGrw5_xR26i9Li3a9EQvuA6c","projectId":"analytics-production"},"kind":"bigquery#queryResponse"}
Из того, что я могу видеть, что работа не завершена. Почему клиент вернулся до завершения задания?
При построении клиента я использую HttpRequestInitializer
, а в методе инициализации я предоставляю параметры таймаута.
override def initialize(request: HttpRequest): Unit = {
request.setConnectTimeout(...)
request.setReadTimeout(...)
}
Пробовал давать высокие значения для таймаута, например, 240 секунд и т. Д., Но не повезло. Поведение все тот же. Он терпит неудачу.
SetQuery(). SetTimeoutMs() решить эту проблему для меня !! –
Как работает request.setReadTimeout() и setQuery(). SetTimeoutMs()? –
'setReadTimeout' предназначен для самого соединения, пока он остается открытым. 'setQuery timeout' для самого запроса. – Pentium10