Запрос потоковых данных с использованием --time_partitioning_field - PullRequest
0 голосов
/ 11 июня 2018

В настоящее время я изучаю, как запрашивать только данные потокового буфера в таблицах с регулярными интервалами для создания отчета о производительности в режиме, близком к реальному времени, и нашел следующую ссылку StackOverflow:

Как запросить дляданные в потоковом буфере ТОЛЬКО в BigQuery?

Тем не менее, текущий тип раздела реализован с использованием --time_partitioning_field

Использование следующих принудительных запросов для запроса всех данных из таблицы:

SELECT * FROM `<project>.<data-set>.<time-partitioned-streaming-table>`
where <time-partitioning-field> is null

enter image description here

Запрос не показывает никакой разницы, так как в идеале пиковый буфер потоковой передачи составляет @ ~ 60 МБ в час

IsЕсть ли способ запросить только потоковые данные с этим типом раздела?

Ответы [ 2 ]

0 голосов
/ 12 июня 2018

Невозможно запросить данные потокового буфера для разбитых таблиц , поскольку после определения определенного TIMESTAMP или DATE данные "передаются прямо в раздел" .

Проверяя официальную документацию , вы также можете найти решение для секционированных таблиц времени приема, указанных в размещенной вами ссылке.

0 голосов
/ 11 июня 2018

Я считаю, что это должно работать (но это устаревший SQL)

#standardSQL
 CREATE TABLE test.newtable (transaction_id INT64, transaction_date DATE)
 PARTITION BY transaction_date
 OPTIONS(
   partition_expiration_days=3,
   description="a table partitioned by transaction_date"
 )

#legacySQL
select * from [test.newtable$__UNPARTITIONED__] 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...