Что я хочу сделать, это прочитать существующую таблицу и сгенерировать новую таблицу, которая имеет ту же схему, что и исходная таблица, плюс несколько дополнительных столбцов (вычисленных по некоторым столбцам исходной таблицы). Исходная схема таблицы может быть увеличена без уведомления (поля, которые я использую в своем задании потока данных, не изменится), поэтому я хотел бы всегда читать схему вместо определения какого-либо пользовательского класса, который содержит схему.
В Dataflow SDK 1.x я могу получить TableSchema через
final DataflowPipelineOptions options = ...
final String projectId = ...
final String dataset = ...
final String table = ...
final TableSchema schema = new BigQueryServicesImpl()
.getDatasetService(options)
.getTable(projectId, dataset, table)
.getSchema();
Для Dataflow SDK 2.x BigQueryServicesImpl стал закрытым пакетом.
Я прочитал ответы в Получить TableSchema из результата BigQuery PCollection , но я бы предпочел не делать отдельный запрос к BigQuery. Поскольку этому ответу уже почти 2 года, есть ли другие мысли или идеи от сообщества SO?