Интересная проблема - BigQuery может переварить с этой скоростью (ограничение составляет 100K записей в секунду на проект), но похоже, что DeviceId - это ваш ключ, поэтому имеет смысл представить его как не вложенный столбец - в данном случае - без вложенных столбцов - высокая цена за хранение, но очень эффективные запросы. В качестве альтернативы вы можете использовать Attr1, Attr2, Attr3 в качестве ключевых столбцов и список deviceId в качестве вложенного столбца - будет наиболее эффективным с точки зрения хранилища - но может быть не очень хорошим с точки зрения аналитического запроса.
Другие варианты для вас, чтобы хранить только изменения (или ежедневные / почасовые агрегаты) (поэтому вам не важно знать, что отчет конкретного устройства в 10:01, 10:02, 10:03, и вы в порядке, скажем, знать, что устройство сообщалось 5 мая 2018 года (или, по крайней мере, в 10 час 5 мая 2018 года)
В этом случае вы можете реализовать какое-то решение в памяти (например, appengine), которое будет ожидать изменения статуса устройства и только в этом случае передавать данные в BigQuery