Как заполнить рациональную многостабильную базу данных MySQL из существующей однотабличной базы данных? - PullRequest
0 голосов
/ 09 ноября 2010

По сути, у меня есть много огромных файлов с разделителями, которые, как я знаю, я могу импортировать в виде таблицы, но мне нужно отобразить эти данные в существующую рациональную многостольную базу данных MySQL. Не должно быть никакого конфликта с типами данных, но я очень новичок в этом, поэтому, пожалуйста, укажите на все, что я должен наблюдать. Очевидно, я не собираюсь запускать это в производство, пока не узнаю, что это работает.

Не на 100% уверен, что stackoverflow - подходящее место для того, чтобы задать вопрос о базе данных, но я не смог найти другой Stack Exchange, который бы лучше подходил.

Опубликовал этот вопрос в SuperUser, который ищет GUI для этого, но я готов для кодирования: он выполняет свою работу. Таким образом, нет целевого языка, просто требование, чтобы база данных была MySQL.

Кроме того, обнаружил, что этот стековый поток Q / A связан с SSIS MS-SQL (который я не планирую использовать из-за высокой стоимости, но содержание и возникающие проблемы имеют ту же природу, с которой он появляется) Загрузка нескольких таблиц с использованием служб SSIS с сохранением связей внешнего ключа

1 Ответ

1 голос
/ 09 ноября 2010

Я бы предложил использовать инструмент ETL (извлечение загрузки перевода) из пакета Pentaho Business Intelligence . У него есть немного кривой обучения, но он будет делать именно то, что вы ищете. Их инструмент ETL называется Kettle, и он чрезвычайно мощный, когда вы освоите его.

Существует две версии Pentaho: корпоративная версия с бесплатной пробной версией и бесплатная версия для сообщества. Версия для сообщества более чем способна, но вы также можете попробовать ее для корпоративной версии.

Вот несколько ссылок

Сайт Pentaho Community Edition

Чайник

Сайт предприятия в Пентахо

Обновление: несколько выходов таблицы

Одним из ключевых шагов в вашем преобразовании будет комбинация lookup-update . Этот шаг проверяет заданную таблицу, чтобы увидеть, существует ли запись из вашего потока данных, и вставляет новую запись, если ее нет. Независимо от того, новая это запись или старая, она добавит ключевое поле из этой записи в ваш поток данных. В процессе работы вы будете использовать эти ключи в качестве внешних ключей при импорте данных в связанные таблицы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...