寻找基于非云的开源应用程序进行数据转换;虽然对于刚刚为数据转换而构建的杀手级(我的意思是杀手级)应用程序,我可能愿意花费高达 1000 美元。
我看过Perl、Kapow Katalyst、Pentaho Kettle等等。
Perl、Python、Ruby这些显然是语言,但找不到任何仅用于处理数据的框架/DSL;这意味着它们真的不是一个很好的开发环境,这意味着没有用于构建 RegEx、输入/输出(CSV、XML、JDBC、REST 等)的内置 GUI,没有用于测试行和数据行的调试器——它们是也不错,只是不是我想要的,它是为复杂数据转换而构建的 GUI;也就是说,如果 GUI/app 文件采用脚本语言,而不只是存储在一些人类不可读的 XML/ASCII 文件中,我会很高兴。
Kapow Katalyst是为通过 HTTP(HTML、CSS、RSS、JavaScript 等)访问数据而设计的。它有一个很好的 GUI 用于转换非结构化文本,但这不是它的核心价值,而且太贵了。它可以很好地遍历文档命名空间路径;猜测它只是后端的 XPath,因为语法似乎是相同的。
Pentaho Kettle为大多数常见数据存储的 INPUT/OUTPUT 提供了一个不错的 GUI,并且它自己处理数据处理;没关系,只是学习曲线很小。Kettle 的调试器还可以,数据很容易看到,但是错误和异常没有与输出线程化,没有办法真正调试问题;这意味着您无法重新加载输出/错误/异常,但能够查看系统反馈。话虽如此,Kettle 数据转换是 _______ 好吧,只是说它让我觉得我一定错过了一些东西,因为我完全困惑于“如果不可能,就用 JavaScript 编写转换”;嗯,什么?
那么,有什么建议吗?请意识到我并没有真正指定任何转换,但如果您真的使用产品进行数据处理,我想知道它;我猜,甚至会出类拔萃。
不过总的来说,目前我正在寻找一种能够处理 10-100 列的 1000-100,000 行的产品。如果它可以分析数据集,那就太酷了,这是 Kettle 的一个功能,但不是很好。我还想要内置单元测试,这意味着我能够构建数据控制集,并运行对控制集所做的更改。然后,我希望能够在构建转换时选择性地过滤掉行和列,而不改变构建;例如,我通过转换运行数据集,过滤结果,然后在下一次运行时,这些数据集在第一次“逻辑”出现时自动被阻止;这反过来意味着要“查看”的数据更少,并且每次增强迭代的运行时间都会减少;如果像我一样,那将是疯狂的好 d 过滤掉应用程序正在跟踪的行/列,(并且输出被过滤掉)。并进行单元测试/突出显示任何更改。如果我进行了会影响应用程序日志的更改,并且它能够基于我“打破分支”来跟踪单元测试 - 它会给我一个警告,让我转储存储的数据分支......和/或跟踪下一代输出差异的主键,甚至尝试使用模糊逻辑匹配它们。是的,我知道这是一个白日梦,但是嘿,我想我会问,以防万一那里有我从未见过的东西。
随时发表评论,我很乐意回答任何问题,或提供更多信息。