- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center寻求指导。
9年前关闭。
背景(抱歉,太长了):
我的任务是维护一个 ETL,它收集各种在线广告数据,每天大约 20-30 MB,并将其附加到 MySQL 中的表中。外部承包商用 Pentaho Spoon(厨房、水壶?) build 了 ETL。 ETL 由大约 250 个作业和转换 (.ktr,.kjb) 组成,每个都有大约 5 到 25 个步骤。在这个大过程中出现问题是很常见的。我发现编写 R 脚本来进行转换和加载效率更高。事实上,我认为除了使用 RMySQL(即 plyr!)调用之外,ETL 可以减少到 1000 行以下的代码。也许 Python 将用于从网络中提取数据。
我对 R 的使用导致了一些阻力。设计 ETL 的计算机程序员不懂 R,所以如果我离开,就不能叫,而且大量时间都投入在 Spoon ETL 上。此外,与 R 脚本相比,外行可以更轻松地在 Spoon 中直观地遵循这些步骤。就我而言,我认为我们被 ETL 所困。但是,由于我没有计算机科学背景,因此我对此事没有太大的发言权。
如果您对以下内容有任何见解,请发表评论。请知道我已经研究了几个月并阅读了很多意见,但没有像 SO 通常提供的那样简洁或可靠:
最佳答案
R 作为 ETL 工具?那是一个新的,但不管你的船是什么。
不过,我会这么说,如果你能得到 250 个工作和转换到 1000 行以下的 R,我会说你的 ETL 写得不好。
除此之外,您还必须考虑可支持性和可扩展性。我认为使用 Spoon 这样的图形工具而不是 R 代码会容易得多。
我个人认为你被误导了,你问的问题写得不好,但那是一个不同的论点。
关于您的观点,PDI 的日志记录非常好,如果您喜欢合并日志,您可以随意记录任何内容,全部记录到一个大型数据库表中。
ETL 不会消失,即使随着对 HDFS 等非结构化数据存储池的喜爱出现,也要考虑在 R 之外进行的数据分析,如果您想要在数据之上进行报告或 OLAP,无论如何它仍然需要转换。
是真的,更多的人使用 R 和 Pentaho 吗?那是个什么样的问题?通过 Pentaho,我假设您的意思是 PDI?这怎么能比得上?数据分析工具 vs ETL 工具,你想统计用户?嗯?另一方面,如果您的意思是整个 R 与 Pentaho,那么我猜不是。您正在查看有关 R 与 Weka 的报告,并使其符合您的 ETL 论点。这不会在一个月的星期天洗。
==编辑==
好的,你目前有大约 1000 行 R & Python 代码。随着您的老板需求的扩大,随着时间的推移,这会慢慢增长,并且因为您正在努力 catch 最后期限,所以新代码的编写与您当前拥有的代码一样干净或有良好的文档记录。所以随着时间的推移,它会增长到 5000 行,加上一些 python 脚本。然后有一天你被公共(public)汽车撞了,一些新人必须进来管理你的代码......他们从哪里开始,他们如何进行更改?
如果需要,几乎任何具有少量数据经验的人都可以对 PDI ETL 进行更改。哪里需要一些具有足够深入的 R 知识才能对您所做的事情进行更改。
ETL 工具旨在快速且易于使用,它们在与不同系统(例如非数据库或基于文件)的数据连接方面提供的功能远远超过 R 所能提供的,尽管我想这就是人们求助于 python 的原因等等
也就是说,两者都有空间,我见过的社区中有一个用于 PDI 的 R 插件。
最重要的是,多年来我已经看到了足够多的 TSQL 到 ETL 迁移,从经验中知道,即使在代码中维护 ETL 在短期内看起来很实用,但从长远来看,它只会带来更多的痛苦。
另一方面,如果您可以将 250 个 PDI 转换编码到 1000 行 R,那么您的 ETL 可能会因您的前任的糟糕设计而变得臃肿。
如果您希望我对您现有的 PDI ETL 结构发表意见,也可以安排。
汤姆
关于R vs Pentaho Spoon 作为 ETL 工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14996712/
我正在 Maven 中运行 Spoon 启动器,但它没有找到处理器类路径。 Maven 调试语句: DEBUG spoon.Launcher - template classpath: [] INFO
我想使用 PDI spoon 获取 mongodb 中的最大 id。 我的集合中有这些字段: 身份证号码 流派字符串 在我插入新记录之前,我应该获得最大 Id。 你能帮我看看如何获取最大 Id 吗
我一直在尝试根据特定字段的值将 pentaho 转换的结果拆分为多个文件,但没有任何运气。 例如。包含以下内容的结果集: 姓氏、名字、国家 奥巴马, 巴拉克, 美国 卡梅伦,大卫,英国 布莱尔,托尼,
我从 sourceforge link 下载了 Pentaho Data Integration(或 Kettle)到我的 Windows 10 机器上在 Pentaho Community webs
pentaho 文档 ( http://wiki.pentaho.com/display/EAI/Job+checkpoints+and+restartability ) 指定,从版本 5.0 开始,
我在使用 javascript 步骤转换时遇到问题。 我只有三个步骤: 1- 数据网格(带有数据集) 输入: Col_1 | Col_2 | Col_3 a b c d
我正在尝试将 Java 代码的 Spoon 表示 转换为其他内容;假设是 JSON 或 XML 表示形式或其他 Java 模型。 我不知道如何以及从哪里开始。 我是否必须为 Spoon 的每个叶子编写
我有一份工作,其源连接为 Windows 上的 oracle。 在目标上,它应该通过 ssh 更新 ubuntu Linux 服务器上的 mysql 数据库表。 这可以做到吗? 在插入/更新步骤中是否
我一直在开发一种在方法内部注入(inject)内部类的处理器,但我在弄清楚如何生成类和伴随的对象初始化而不自动生成不正确的完全限定名称时遇到了很多麻烦。 例如,我一直在处理以下内容:我一直在制作一个新
我正在尝试对 Spoon source 进行更改(试图了解它是如何工作的)但无法弄清楚如何构建我们可以用来独立运行的最终 jar(具有类似于 the site 提供的依赖项)。 我尝试运行 ./gra
我正在使用 inria Spoon解析 Java 项目,然后提取有关类、接口(interface)、字段和方法及其所有引用的信息。 我正在使用以下代码构建输入项目的模型。 SpoonAPI spoon
我正在使用水壶勺进行改造。 如何从“获取系统信息”给出固定输入日期?我看到选择昨天、一个月前等选项。但我想手动选择固定日期,例如:'2012-12-14' 我从转换中得到了一个 csv,“文本文件输出
如果有人使用 SPOON API,您能给我一些如何创建调用图以及我需要做什么的线索吗? 我认为我需要创建一些像这样的处理器: public class InvocationProcessor exte
我想使用 script构建直方图。对你起作用吗?它对我不起作用。也许我做错了什么?我在浏览器书签中添加了 javascript 行: javascript:$.getScript('https://c
我正在尝试使用SPOON在android中编写注释处理器. 所以我的问题是当我编写注释处理器类时,如何向编译器指示它。 假设我的类位于 com.craftman.spoonprocessor.Cust
我有一个如下所述的 SQL 查询,这将每天更新数据库比较日期(最新附加的日期数据将在数据库中更新),我想使用 Pentaho 数据集成(Kettle)在转换中执行此操作。 Do While i =13
我运行我的 Espresso通过 Spoon 测试.通常,我会得到一个 build successful,但测试没有执行。我认为原因是没有对相关应用程序的代码进行任何更改。我明白他们为什么要这样做——
我有一个场景,我有两个独立的数据库olap和oltp,在输入表或脚本(mysql)中我想连接这两个不同的表数据库。 创建连接时无法将数据库列留空,因此无法访问数据库(和连接表)。 答案中建议的一个解决
我在查找文档时遇到问题,我该如何解决这个问题。 我能够启动小型/中型/大型测试: ./gradlew spoonSmall ./gradlew spoonMedium ./gradlew spoonL
我想知道如何停用登录Spoon (用于分析和转换Java源代码的库)? 例如,我想禁用调试日志消息。但是,我不知道如何将日志设置为Info(log.setLevel(Level.INFO);) 最佳答
我是一名优秀的程序员,十分优秀!