Как указано в заголовке, мы используем поток данных для отправки сообщений из PubSub в BigQuery с использованием стандартного шаблона. Ошибка потока данных выглядит так:
Превышен максимально допустимый размер строки. Разрешено: 1048576 Размер строки: 2148312
И да, я знаю, что все дело в ограничениях потоковой вставки.
Время от времени мы видим сообщения большого объема. Несмотря на то, что в общем, большинство из них далеко не такие большие, и мы можем их потерять, но мы хотели бы знать о них. Есть ли способ сделать это? В результате мы хотели бы получить строку, хранящуюся в таблице недействительных писем, и усеченная строка могла бы работать.
Я попытался переписать функцию UDF, чтобы она возвращала пустой результат, если полученное сообщение слишком велико, но, как и ожидалось, оно просто потеряно, и то же самое происходит с любой информацией, если это происходит, что может быть вредным для нас, если станет распространенной проблемой.
Выдача ошибки также не работает, потому что ошибка все еще существует, но в другой ячейке. Более того, поток данных постоянно пытается вставить запись. Итак, для 2-3 таких сообщений мы получили примерно> 300 рабочих ошибок.
Что можно сделать, чтобы сохранить некоторые данные об этом, но при этом избавиться от ошибки?