(Talend OS для интеграции данных)Может ли Talend использовать динамическое имя таблицы для вывода MySQL?
Возможно ли использовать имя динамической таблицы? Я изучил все ресурсы в руководстве пользователя и, хотя ни один из них, похоже, явно не допустил этого, я не могу заставить его работать.
Сценарий
Допустим, у вас огромный список 1,000,000 имен - Дэйв Смит, Дэйв Джонс, Дэйв Bloggs и т.д. Они все хранятся в одной таблице.
Вы должны разделить их в таблицы, которые отражают первое имя, так что вы бы БД с именами таблиц, таких как «Энди», «Адриан», «Адам» и т.д.
Где я at
Что я могу сделать, без проблем, это пакетный экспорт полного набора данных в таблицу. Я также могу перебирать поле, чтобы создать свои отдельные таблицы, используя tMysqlRow
(это намного быстрее по отдельности).
Затем я попытался выбрать и выплюнуть данные в свои соответствующие области, но наткнулся на эти вопросы:
- tMySqlRow может быть использован с переменными, так что я могу вставить данные в соответствующую таблицу, но он настолько медленный, что он лишний. Он работает со скоростью около 2000 строк/сек, и их около 20 миллионов.
- tMySqlOutput намного быстрее и может сделать это достаточно хорошо, но для этого нужно иметь четко обозначенное имя таблицы. Использование контекстной переменной в качестве имени таблицы не работает (читается как «Null»).
Было предложено изучить компоненты ETL, но их определения ясно указывают на то, что имя таблицы должно быть определено в кавычках.
Похоже, что Talend так много использует контекстные переменные, но, похоже, не позволит вам разбить один набор данных на несколько таблиц динамически. Это ограничение продукта или только я?
Заранее спасибо.
Edit - добавлены скриншоты
Контекст печати в окне на скриншоте («AB» было значение контекста тест, используемый), чтобы показать, что эта величина была актуальна до тех пор, пока не был объявлен в поле 'Таблица', но затем возвращает нулевое значение
Можете ли вы предоставить скриншоты, где вы задаете значение контекста для имени таблицы и как вы читаете его в компоненте tMySqlOutput? –
Возможно, сначала задан вопрос: зачем создавать таблицы на основе имен? Почему бы не использовать разделы или хорошие индексы? Соединение по всем таблицам станет беспорядочным быстро ... – tobi6
tobi6 - имена - это просто более простой способ объяснить контекст того, что я делаю. Мне нужно сопоставить схему назначения, которая, к сожалению, разделяется с использованием кодов из первичных ключей основного набора данных. –