2016-02-12 3 views
0

Я новичок в PDI, и я работаю с PDI Kettle, у меня есть 40 файлов .csv с различным количеством столбцов, я хочу создать таблицы из этих файлов в одно преобразование, я использовал шаг «Вход в файл CSV», чтобы выбрать файл и «Результат таблицы» для создания таблицы, но для создания 40 таблиц из этих 40 файлов мне снова нужно выбрать эти два шага, так что есть ли какие-либо способ создать все 40 столов за один раз в одном преобразовании - это возможно, PLS помочь мне с тем же Заранее спасибоСоздание таблицы из CSV-файла с использованием PDI Kettle

+1

Вы можете загрузить все 40 файлов в одну таблицу, но я не уверен, можете ли вы загрузить все 40 файлов в 40 разных таблиц. –

+1

В образце KETTLE_HOME/samples создается динамическое создание таблицы. – simar

+0

После загрузки всех 40 файлов в одна таблица, я думаю, здесь нет средств для разделения всех этих таблиц на разные таблицы на основе столбцов. – Deepesh

ответ

1

Для этого в Pentaho со стандартными шагами немного задействовано. Чтобы прочитать CSV и получить заголовки, а затем прочитать данные, вам нужно использовать ETL Metadata injection.

Сначала прочитайте заголовок с именем столбца и используйте ETL Metadata injection, чтобы прочитать данные в другом преобразовании.

Для автоматического создания баз данных не является прямым, так как это то, что главный разработчик Pentaho обескураживает.

Вот ответ и пример того, как автоматически создать таблицу: Perform an auto CREATE TABLE to store the output of a transformation.

Таким образом, вы должны выполнить задание, которое передает имя файла и имя табуляции для преобразования. Преобразование будет использовать ETL Metadata injection, чтобы прочитать CSV в правильные поля и meta.getSQLStatementsString();, чтобы получить DDL базы данных для хранения данных.

+0

Это замечательно .... ETL Метаданные инъекции полезно в моем сценарии .... Спасибо @bolav – Deepesh

Смежные вопросы