2016-08-17 3 views
0

У меня проблема, которую я не понимаю, даже если вижу потенциальную проблему.Надежность потоковой передачи в BigQuery

Я хочу создать таблицу на дату T, передать данные внутри нее. На следующий день я удаляю таблицу в дату T, создаю новую таблицу на дату T + 1, а затем передаю данные. И т.д.

Проблема возникает между созданием таблицы и потоковой передачей. Действительно, иногда я передаю данные, и ничто фактически не транслируется. Обычно, когда я удаляю таблицу на дату Т и воссоздаю ее напрямую.

Есть ли разница между удалением таблицы и фактическим удалением ссылки? Иногда Google говорит мне, что таблица не существует ... на самом деле она существует.

Я делаю это с Java. Компиляция кажется верной, но фактическая ссылка кажется долгожданной.

Я поставил тему/спать 2 минуты после операции и все еще ... Я могу подождать 10 минут и более, но будет ли он на 100% надежным?

Благодаря

+0

я спросил что-то подобное некоторое время назад, и это ожидаемое поведение в BigQuery: http://stackoverflow.com/questions/36846571/bigquery-table-truncation-before-streaming-not-working В этом случае вам могут подойти таблицы с разбитыми на разделы (это нам не помогло, так как мы не можем передавать данные в декорированных таблицах, поэтому мы просто каждый день создавали таблицы) –

ответ

1

Существует текущее ограничение по сценарию вы упомянули, и мы надеемся решить в будущем.

Я собираюсь со своего поста, что вы используете ежедневные таблицы? Вы рассмотрели возможность использования секционированных таблиц. Данные автоматически попадут в раздел последнего дня. Вы также можете установить срок действия данных. Если вы хотите удалить данные из раздела вручную, вы можете сделать запрос с allow_large_results и WRITE_TRUNCATE для раздела в качестве адресата.

https://cloud.google.com/bigquery/docs/creating-partitioned-tables

+0

Спасибо за ответ, поэтому я не мечтал ^^ Спасибо также за подсказку, я использую его и создаю следующую таблицу за день до того, чтобы таблица была доступна на следующий день. я также видел, что мой код действительно не оценивал и поэтому возвращал потоковый ответ на Clojure, я решил это тоже сейчас, работа по автоматизации –

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