Удалить данные из BigQuery во время потоковой передачи из потока данных - PullRequest
0 голосов
/ 07 мая 2018

Возможно ли удалить данные из таблицы BigQuery при загрузке данных в нее из конвейера Apache Beam.

Наш вариант использования таков, что нам нужно удалить данные за 3 дня из таблицы на основе поля отметки времени (время, когда Dataflow извлекает сообщение из темы Pubsub).

Рекомендуется ли делать что-то подобное? Если да, есть ли способ достичь этого?

Спасибо.

1 Ответ

0 голосов
/ 07 мая 2018

Я думаю, что лучший способ сделать эту настройку - таблица с разделением (на основе времени приема) https://cloud.google.com/bigquery/docs/partitioned-tables И вы можете удалить старый раздел вручную

bq rm 'mydataset.mytable$20160301'

Вы также можете установить срок действия

bq update --time_partitioning_expiration [INTEGER] [PROJECT_ID]:[DATASET].[TABLE]

Если время приема пищи у вас не работает, вы можете посмотреть https://cloud.google.com/bigquery/docs/creating-column-partitions - но оно в бета-версии - работает надежно, но это ваш звонок

...