В поисках не облачного приложения с открытым исходным кодом для преобразования данных; хотя для приложения-убийцы (и я имею в виду убийцу), только что созданного для преобразования данных, я мог бы потратить до 1000 долларов.
Я смотрел на Perl , Kapow Katalyst , Чайник Pentaho и другие.
Perl, Python, Ruby , которые явно являются языками, но не могут найти никаких каркасов / DSL только для обработки данных; это означает, что они на самом деле не очень хорошая среда разработки, то есть нет встроенного графического интерфейса для построения RegEx, ввода / вывода (CSV, XML, JDBC, REST и т. д.), нет отладчика для тестирования строк и строк данных - они тоже неплохо, просто не то, что я ищу, это графический интерфейс, созданный для сложных преобразований данных; Тем не менее, я хотел бы, чтобы файл GUI / приложения был на языке сценариев, а НЕ просто сохранялся в каком-то не читаемом человеком файле XML / ASCII.
Kapow Katalyst предназначен для доступа к данным через HTTP (HTML, CSS, RSS, JavaScript и т. Д.), Имеет приятный графический интерфейс для преобразования неструктурированного текста, но это не является его основной ценностью и является слишком дорого. Это делает хорошую работу по обходу путей пространства имен документа; предполагая, что это просто XPath на бэкэнде, поскольку синтаксис выглядит одинаково.
Pentaho Kettle имеет приятный графический интерфейс для INPUT / OUTPUT наиболее распространенных хранилищ данных и свой собственный подход к обработке данных; что хорошо, и просто имеет небольшую кривую обучения. Отладчик Kettle в порядке, в том, что данные легко увидеть, но ошибки и исключения не связаны с выводом, и нет способа действительно отладить проблему; Это означает, что вы не можете перезагрузить вывод / ошибку / исключение, но можете просмотреть обратную связь системы. Все это говорит о том, что преобразование данных Kettle - это _______ ну, давайте просто скажем, что у меня возникло ощущение, что я, должно быть, что-то упустил, потому что я был полностью озадачен "если это невозможно, просто напишите преобразование в JavaScript"; ммм, что?
Итак, есть предложения? Поймите, что я на самом деле не специфицировал преобразований , но подумайте, если вы действительно используете продукт для сбора данных, я бы хотел узнать об этом; даже превосходить, я думаю.
В целом, в настоящее время я ищу продукт, способный обрабатывать 1000-100000 строк с 10-100 столбцами. Было бы очень круто, если бы он мог профилировать наборы данных, что характерно для Kettle, но не очень хорошо. Мне бы также хотелось встроенного модульного тестирования, то есть я могу создавать контрольные наборы данных и выполнять изменения, внесенные в контрольный набор. Затем я хотел бы иметь возможность выборочно отфильтровывать строки и столбцы при построении преобразования без изменения сборки; например, я запускаю набор данных посредством преобразования, фильтрую результаты, и при следующем запуске эти наборы автоматически блокируются при первом «логическом» вхождении; что, в свою очередь, будет означать меньше «данных» для просмотра и сокращение времени выполнения для каждой расширенной итерации; что было бы безумно приятно, так это то, что если бы я отфильтровал строки / столбцы, приложение отслеживало их (и выходные данные были отфильтрованы). и юнит протестировал / выделил любые изменения. Если бы я внес изменение, которое повлияло бы на журналы приложений и его способность отслеживать модульные тесты, основанные на том, что я "сломал ветку" - это дало бы мне предупреждение, дало бы мне сбросить ветвь, сохраненную в данных ... и / или отследить первичные ключи для определения различий в выходных данных следующего поколения или даже попытки сопоставить их с помощью нечеткой логики И да, я знаю, что это несбыточная мечта, но, эй, подумал, что я спрошу, на случай, если есть что-то, чего я просто никогда не видел.
Не стесняйтесь комментировать, я был бы рад ответить на любые вопросы или предложить дополнительную информацию.