2014-10-13 3 views
2

У меня есть код, который выполняет запрос, используя задание. Если запрос занимает более 5 минут, мне нужно отклонить эти результаты. Есть ли способ отклонить результаты запроса?Отклонить результаты в BigQuery

Это мой код:

while (true) 
{ 
    Job pollJob = s.Jobs.Get(projectId, jobId.JobId).Execute(); 
    elapsedTime = DateTime.Now.Ticks - startTime; 
    if (pollJob.Status.State.Equals("DONE")) return "OK"; 
    else if (DateTime.Now > minutes5) { 
      //I don't want that the results are append in the table 
    } 
    Thread.Sleep(10000); 
} 

ответ

1

Похоже, вы добавляете результаты запроса в таблицу. Один из вариантов - записать результаты в другое временное место, а затем скопировать временную таблицу с добавлением в таблицу результатов. То есть, если ваша таблица назначения представляет собой набор данных. Результаты, вы можете написать результаты запроса в dataset_temp.temp_results. Если запрос, который создал temp_results, завершился достаточно быстро, вы можете добавить его в таблицу данных. Таблицу результатов через операцию копирования и запись write_append write.

У вас есть пара опций для таблицы temp. Вы можете создавать новые таблицы каждый раз, но указывать время истечения, чтобы они автоматически очищались. Или вы можете переписывать их каждый раз с помощью write_truncate write disposition, поэтому они всегда будут иметь ровно один раз ценность данных в срезе.

+0

Да, я добавляю результаты запроса к таблице. Первый вариант звучит неплохо, но, Могли бы вы утверждать, что операция копирования дает мне стабильное время отклика? – RCalaf

Смежные вопросы