R vs Pentaho Spoon作为ETL工具

时间:2013-02-21 07:25:48

标签: r pentaho

背景(对不起,这么久):

我的任务是维护一个收集各种在线广告数据的ETL,每天大约20-30 MB,并将其附加到MySQL中的表中。外部承包商用Pentaho Spoon(厨房,水壶?)建造了ETL。 ETL包含大约250个作业和转换(.ktr,.kjb),每个步骤大约5到25步。在这个大型过程中出现问题是很常见的。我发现编写R脚本来进行转换和加载效率更高。实际上,我认为除了使用RMySQL(即plyr!)调用之外,ETL可以减少到远低于1000行代码。也许Python将用于从网络中提取数据。

我对R的使用导致了一些阻力。设计ETL的计算机程序员不知道R因此如果我离开就无法调用,而且还有很多时间投入到Spoon ETL中。此外,外行人可以更容易地在Spoon中直观地遵循步骤,而不是在R脚本中。就我而言,我认为我们正陷入ETL的困境。但是,由于我没有计算机科学的背景,所以我在这个问题上没有很大的发言权。

如果您对以下内容有任何见解,请发表评论。请知道我已经研究了几个月并阅读了很多意见,但没有像通常提供的那样简洁或可靠:

  1. R被公司的一些人称为不具备可扩展性。我认为相反的主要是因为日志功能。 Spoon具有有限的纯日志记录输出,而所有R脚本都可以存入日常日志。修复和避免.ktrs中的错误非常繁琐,但通过设置标志和/或搜索R日志很容易。有什么想法吗?

  2. 这导致了一个大问题。像Pentaho这样的ETL有什么意义?这篇文章Do I need a ETL?让我相信,如果你使用R或其他所谓的OOL,就没有理由拥有像Pentaho这样的工具。有人可以确认一下吗?我真的需要第二个意见。如果是这样,谁使用像Pentaho这样的工具?是否只是没有编程背景的人或其他人?我确实在SO上看到了相当数量的Pentaho问题。

  3. 确实有更多人使用R而不是Pentaho,对吗?这个http://www.kdnuggets.com/2012/05/top-analytics-data-mining-big-data-software.html使它看起来如此。说实话,我很惊讶Pentaho是第五名,这让我更加惊讶谁使用了Pentaho,如果我对我在工作环境中使用它的怀疑是错误的。

  4. 感谢您的回复。我并不是说对Spoon或Spoon用户有任何屈尊俯就;我真的很困惑,需要外界的意见。

1 个答案:

答案 0 :(得分:4)

R作为ETL工具?这是一个新的,但无论什么漂浮你的船。

我想说的是,如果你可以获得250个工作岗位并将其转换到低于1000行的R,我会说你的ETL写得不好。

除此之外,您还必须考虑可支持性和可伸缩性。使用像Spoon这样的图形工具而不是R代码,我认为这两种方法都会容易得多。

就我个人而言,我认为你被误导了,你提出的问题写得不好,但这是一个不同的论点。

关于你的观点,PDI的日志记录非常好,你可以随意记录,如果你喜欢整合的日志,可以将它们全部记录到一个大型数据库表中。

ETL不会消失,即使出现对HDFS等非结构化数据存储池的喜爱,也考虑在R外部进行数据分析,如果您想要报告或OLAP超过数据顶部,它仍然需要无论如何转变。

是真的,更多人使用R vs Pentaho?那是什么问题? Pentaho我认为你的意思是PDI?怎么能比较呢?数据分析工具与ETL工具,您想要计算用户?是吗?另一方面,如果你的意思是R vs Pentaho作为一个整体,那么我猜不会。你正在看一个关于R vs Weka的报告,并使它适合你的ETL论点。这不会在周日的一个月内洗掉。

== EDIT == 好吧,你有大约1000行R&目前是Python代码。随着您的老板需求的扩大,这种情况会随着时间的推移而缓慢增长,并且由于您正在尝试按期完成新代码,因此您可以将代码编写为干净利落或与您目前使用的代码一样详细记录。所以随着时间的推移,这会增加到5000行,加上一些python脚本。然后有一天你被公共汽车撞了,一些新人必须进来管理你的代码......他们从哪里开始,他们如何做出改变?

几乎任何具有一定数据经验的人都可以在需要时对PDI ETL进行更改。在某种程度上需要一些具有足够深度的知识来改变你所做的事情。

ETL工具设计为快速且易于使用,它们提供的远远超过R可以提供的与不同系统(例如非db或基于文件)的数据连接,尽管我猜这就是为什么人们求助于蟒蛇等 那说两者都有空间,在我看过的社区中有一个用于PDI的R插件。

最重要的是,多年来我已经看到了足够多的TSQL到ETL迁移来了解经验,即使在短期内保持代码中的ETL看起来很实用,但从长远来看它只会带来更多的痛苦。

另一方面,如果您可以将250个PDI转换编码为低至1000行的R,那么您的ETL可能会因您的前任设计不良而臃肿。

如果您希望我对您现有的PDI ETL结构发表意见,也可以安排。

汤姆