2012-02-23 41 views
7

我正在研究ETL工具,将平面文件导入数据库,然后导出xml文件。是否有任何与Rails模型集成的ETL工具?

许多工具都支持生成代码以在您的应用程序中使用;不过,我还没有发现你的应用程序中已经有使用代码的支持。我们的模型很复杂(关系,验证,多态关联,回调等)。

有哪些工具可以重复使用现有的代码?或者我坚持在ETL工具中重新创建(并维护)我的模型?

注:我对ETL的要求(与批量插入或主动记录导入相对)是转换。我们以各种格式,完整性和清洁度接收来自200多个不同来源的数据。而且,对于定义转换的技术较低的用户而言,“设计者”最包含的是更现实的。

+0

转换逻辑在哪里? *你想要*它在哪里? – 2012-03-02 14:57:09

+0

这取决于。我们已经在应用程序中构建了一堆,但还有一些需要在每个源代码基础上完成。我们正在谈论汽车数据......我们的应用知道99-01,1999-01,1999-2001都是一回事,而HND,HNDA,HONDA和HONDA/ACURA都是一样的东西。这些是冰山一角。我们的每个来源都有不同的格式。一个人可能会像99-01年那样结合在一起,另一个则将他们放在不同的栏目中有些人会将多个品牌(本田,宝马)放在一排,其他品牌会使用2.再次,berg的一角,但这些都是ETL工具应该处理的。 – 2012-03-02 15:19:56

回答

6

ActiveWarehouse可能会证明是有用的。最初的搜索结果使得项目感觉有点老旧并且不存在。在GitHub上进行了一次小小的挖掘,得到了一个相当活跃,有据可查的项目分支:https://github.com/activewarehouse/activewarehouse-etl

+0

它也[刚刚1.0](http://www.rubyflow.com/items/7311-activewarehouse-ruby-etl-v1-0-0-rc1-is-out)。我刚才发现了这个,很高兴看到它还活着。我要仔细看看。 – 2012-03-05 15:32:49

+0

此项目已被[Kiba](https://github.com/thbar/kiba)取代 – 2018-02-23 13:37:47

0

模块化,您希望Rails应用程序和ETL从同一个地方询问'HND'的含义。为此设置一个API。

3

写你自己的。 ETL是一个非常简单的过程,ruby提供了足够的反射支持来处理一些简单的代码。 ETL工具在这里并不真正有用,只需生成dotty文件即可显示数据源,流程和转换。

我已经在smalltalk中做了相同的数据转换。在那里,我使用MOOSE重新设计工具包中的魅力和mondrian来提供更多的可见性。

相关问题