5

寻找基于非云的开源应用程序进行数据转换;虽然对于刚刚为数据转换而构建的杀手级(我的意思是杀手级)应用程序,我可能愿意花费高达 1000 美元。

我看过PerlKapow KatalystPentaho 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 过滤掉应用程序正在跟踪的行/列,(并且输出被过滤掉)。并进行单元测试/突出显示任何更改。如果我进行了会影响应用程序日志的更改,并且它能够基于我“打破分支”来跟踪单元测试 - 它会给我一个警告,让我转储存储的数据分支......和/或跟踪下一代输出差异的主键,甚至尝试使用模糊逻辑匹配它们。是的,我知道这是一个白日梦,但是嘿,我想我会问,以防万一那里有我从未见过的东西。

随时发表评论,我很乐意回答任何问题,或提供更多信息。

4

3 回答 3

3

谷歌优化

于 2010-12-03T02:52:52.903 回答
2

Talend 将需要您 5 分钟以上的时间,也许接近 1 小时左右开始连接基本转换并能够满足您保持版本控制转换的要求。您描述了一个流水线流程,当您知道如何在 Talend 中轻松完成该流程时,您在项目中有多个输入和输出,因为相同的原始数据会经过各种转换和过滤,直到它作为您想要的最终输出到达。然后,您可以安排您的作业以对类似数据重复该过程。回去多花点时间在 Talend 上,我敢肯定,你会在你需要的东西上取得成功。

我也恰好是 Google Refine 的提交者之一,并且在我的日常工作中也使用了 Talend。实际上,我有时会首先在 Google Refine 中为 Talend 建模。(有时甚至使用 Refine 自己对 borked ETL 转换执行清理!哈哈)我可以告诉你,我使用 Talend 的经验在 Google Refine 的一些功能中发挥了很小的作用。例如,Talend 和 Google Refine 都有用于转换的表达式编辑器的概念(如果需要,Talend 可以使用 Java 语言)。

Google Refine 永远不会成为 ETL 工具,因为 ETL 通常用于大型数据仓库后端处理和转换,我们并没有将它设计为在该领域竞争。但是,我们设计 Google Refine 是为了补充现有的 ETL 工具(如 Talend),它允许轻松的实时预览以对您的转换和清理做出明智的决策,如果您的数据不是非常庞大,那么您可能会选择在 Refine 中执行您需要的操作.

于 2011-12-15T21:42:05.150 回答
1

我不确定您正在尝试执行什么样的数据或确切的转换,但如果它主要是数学转换,也许您可​​以尝试FreeMatOctaveSciLab。如果它更像是数据仓库式的处理,请尝试开源 ETL 工具,例如CloverTalendJasperETL Community Edition 或Jitterbit

于 2010-12-03T02:23:34.047 回答