Выгрузка и перезагрузка данных между S3 и Redshift с изменениями схемы - PullRequest
0 голосов
/ 07 ноября 2018

Я заинтересован в настройке некоторых автоматизированных заданий, которые будут периодически экспортировать данные из нашего экземпляра Redshift и сохранять их на S3, где в идеале они затем будут перенесены обратно в Redshift через внешнюю таблицу, запущенную в Redshift Spectrum. Одна вещь, с которой я не уверен, как лучше всего иметь дело, - это случай определенных таблиц, с которыми я работаю, меняя схему с течением времени.

Я могу без проблем выгружать данные из Redshift на S3, а также могу настроить внешнюю таблицу в Redshift и получить эти данные S3 для запросов. Однако я не уверен, как лучше всего справляться со случаями, когда наши таблицы изменяют столбцы с течением времени. Например, в случае определенных данных о событиях, которые мы собираем через сегмент, добавленные черты приведут к появлению нового столбца в таблице Redshift, которого не было в предыдущих UNLOAD. В Redshift значение столбца для данных, которые поступили до того, как столбец существовал, просто приведет к значениям NULL.

Каков наилучший способ справиться с этим постепенным изменением структуры данных с течением времени? Если я просто обновлю новые поля в нашей внешней таблице, сможет ли Redshift иметь дело с тем фактом, что эти поля не обязательно существуют в старых UNLOAD, или мне нужно пойти другим путем?

...