У меня есть несколько CSV-файлов, для которых мне нужна отдельная таблица. Проблема заключается в том, что файлы имеют разные столбцы - большинство столбцов одинаковы, за исключением 1 или максимум 2, которые меняются. Загрузка их в BigQuery из GCS с использованием графического интерфейса пользователя дает неверные результаты или вообще дает сбой. Более того, всякий раз, когда отсутствует столбец YEAR
, я хотел бы указать значение вручную для всего файла.
Мы можем посмотреть следующие 2 файла для демонстрации -
file1. csv -
ITEM,TYPE,COLOR,YEAR
a,1,red,2010
b,2,blue,2010
c,3,green,2010
file1.csv где YEAR
будет 2012 (местоположение отсутствующего столбца не должно быть в конце) -
ITEM,TYPE,COLOR
d,3,yellow
e,2,orange
f,1,cyan
Объединенные файлы в одну таблицу BigQuery будут выглядеть так:
+------+------+--------+------+
| ITEM | TYPE | COLOR | YEAR |
+------+------+--------+------+
| a | 1 | red | 2010 |
| b | 2 | blue | 2010 |
| c | 3 | green | 2010 |
| d | 3 | yellow | 2012 |
| e | 2 | orange | 2012 |
| f | 1 | cyan | 2012 |
+------+------+--------+------+
Я хотел бы знать, возможно ли выполнять подобные преобразования (желательно с использованием Python SDK Apache Beam ?) во время чтения файлов из GCS и загрузки их в виде таблиц в BigQuery.
Лучше использовать SDK или предоставить собственный файл шаблона для запуска из GCS (как показывает поток данных GUI)?
Любой ресурс на нем будет оценен.