【问题标题】:Limitations Of ETL with respect to Various Algorithm ProcessingETL 对各种算法处理的限制
【发布时间】:2015-08-13 17:46:16
【问题描述】:

我想知道 ETL 无法解决的问题。众所周知,我们可以提取数据,进行一些转换和处理,并将转换后的数据存储到数据存储中,ETL 中的处理也可能非常复杂。

如果除了使用 J2EE 构建 UI 应用程序之外,一切都可以使用 ETL 完成,那么编写 Java 代码的范围是什么。

哪种算法在ETL中运行良好,哪种算法应该在ETL之外运行。

我更喜欢谈论 ETL 工具,而不是在这方面将 ETL 作为一个概念,就像 Talend 是一个自动生成代码的工具(特定于 ETL 供应商的实现方式)而不是编写自己的代码来制作它例如,发生改变实现以提高内存效率对时间效率或提高时间效率对内存效率,更是如此,使事物本质上是通用的..!!

所以在这方面,在制作产品和编写算法时,我们应该使用标准 ETL 工具还是自定义代码以实现长期目标。

有人可以详细说明 ETL 失败或存在限制的用例和示例吗?

提前致谢:)!!

【问题讨论】:

  • ETL 是一个非常广泛的概念。将数据从一个系统移动到另一个系统的任何操作都可能被视为 ETL。您需要执行哪些与 ETL 相关的任务?
  • @mellamokb,嗨。!!我正在尝试的任务是:根据来自包含各种其他呼叫详细信息的数据源中的电话号码对数据进行分组,然后按电话号码迭代该组并计算一些 KPI,例如通话持续时间、电话号码拨打电话的次数,平均下一次调用之间的时间等。我已经在 Map Reduce 中编写了它们。但我读到它可以使用 Talend 之类的工具或任何 ETL 工具来完成。我想知道哪种算法适合ETL,哪种算法不适合ETL。感谢您的回复。

标签: java mapreduce apache-pig etl talend


【解决方案1】:

正如 mellamokb 提到的,ETL 是一个概念。每当您从数据源中提取数据、对其进行转换并将其加载到另一个数据存储时,您就是在执行 ETL。有时,严格意义上的“T”是可选的,因为您可能只是按原样移动数据。

至于执行 ETL,您可以使用 Informatica 和 DataStage 等工具来完成,也可以使用 Java、PLSQL 或其他语言自行编写代码。这些工具通常提供可视化界面并允许抽象一些细节,但在功能上您可以自己执行相同的操作。所以选择不是在 ETL 和 Java 之间,而是在使用工具和自己做之间。


你的问题

Q1) 如果除了使用 J2EE 构建 UI 应用程序之外,一切都可以使用 ETL 完成,那么编写 Java 代码的范围是什么。

Java 是一种通用编程语言。您几乎可以解决任何可以通过使用它进行编程解决的问题,包括 ETL。问题领域的问题类型太多了:网络、数据库软件、操作系统软件、文字处理......

Q2) 哪种算法在 ETL 中运行良好,哪种算法应该在 ETL 之外运行。

问题不应该是关于算法,而应该是关于哪些问题属于 ETL 范围。如果你理解 ETL 的含义应该是相当明显的。

Q3) 有人可以详细说明这个主题,并提供 ETL 失败或存在限制的用例和示例。

同样,ETL 是一个概念。 ETL 失败时的用例没有多大意义。如果您想问 ETL 工具何时失败,那将是一个合理的问题。答案取决于您要实现的目标以及您的工具支持的功能。如今,大多数工具都支持无数数据源和目标,并允许您通过使用包括 Java 在内的各种语言编写自己的代码来扩展提供的转换。

【讨论】:

  • 嗨@Owl,我更喜欢谈论像 Talend 这样的 ETL 工具,其中代码是自动生成的,而不是编写自己的代码来实现它,比如更高效的内存和更通用的性质..!!跨度>
  • 嗨@Owl,我更喜欢谈论 ETL 工具而不是 ETL 作为这方面的概念,就像 Talend 是一个自动生成代码的工具(特定于 ETL 供应商的实现)而不是编写自己的代码来实现它,例如,改变实现以提高内存效率与时间效率或提高时间效率与内存效率,更是如此,使事物本质上通用..!!所以在这方面,在制作产品和编写算法时,我们应该使用标准 ETL 工具还是自定义代码,以实现长期目标。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-13
  • 2012-03-24
  • 2011-04-08
  • 2018-06-10
  • 1970-01-01
  • 2011-09-11
相关资源
最近更新 更多