Если цель состоит в том, чтобы материализовать подмножество файловых столбцов в таблице в Redshift, то у вас есть вариант Redshift Spectrum, который позволит вам определить «внешнюю таблицу» поверх файлов CSV в S3.
Затем можно выбрать соответствующие столбцы из внешних таблиц и вставить их в фактические таблицы Redshift.
У вас будет первоначальное снижение стоимости, когда Spectrum будет сканировать CSV-файлы, чтобы запросить их, и будет зависеть от размера файлов, но, вероятно, это будет значительно меньше, чем раскрутка кластера EMR для обработки данных.
Существует много, чтобы быть сказанным для того, чтобы не сделать это. Читайте Рекурсивный, Делают Продуманными Вредный. Также в форме PDF.
Короткая короткая версия - то, что рекурсивный делают эффективно сборки несколькими непересекающийся, но возможно перекрывающиеся деревья зависимостей и не могут гарантировать или корректную или максимально эффективную сборку. Проблема ухудшается, если Вы надеетесь создать параллельно.
Для решения проблемы, Вы располагаете сингл, нерекурсивный делают, который создает единственное дерево зависимостей все-охвата, которое позволяет, делают для решения всех вышеупомянутых проблем.
Структуры в качестве примера для нерекурсивного делают и решения нескольких хитрых проблем, которые подходят в письменной форме их, может быть найден в исходной газете и в ответах на:
Рекурсивный делают, обычно считается вредным.
Если Вы действительно хотите смочь ввести, "делают" в корневом каталоге и имеют его, создают все с помощью только make-файлы POSIX, это - единственный путь. В этом случае свяжите подпроекты в их собственном каталоге и заключительный материал вместе в корне.
Если Вы готовы использовать gmake синтаксис, смотреть на Make-файлы здесь: http://github.com/singpolyma/theveeb-ecosystem
Существуют более современные системы сборки как SCons, Которые имеют более легкий синтаксис, чем делают и избегают, чтобы много ловушек сделали. Например, SCons сканирует исходные файлы для определения зависимостей от своего собственного, тогда как для делают, нужно указать зависимости вручную. Если Вы, например, добавляете, что новый #include оператор в файл реализации составляет завещание не, перекомпилировали тот файл реализации, если заголовок изменяется (если Вы не добавляете новую зависимость). SCons автоматически обнаружит новую зависимость и перекомпилирует любое необходимое.