关于各种算法处理的ETL限制

时间:2015-08-13 17:46:16

标签: java mapreduce apache-pig etl talend

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

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

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

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

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

有人可以通过ETL失败或有限制的用例和示例来详细说明这个主题。

在此先感谢:)!!

1 个答案:

答案 0 :(得分:1)

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

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

您的问题

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

Java是一种通用编程语言。您可以使用包括ETL在内的编程解决几乎所有可以解决的问题。问题域中存在太多问题类型:网络,数据库软件,OS软件,文字处理......

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

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

Q3) 有人可以通过ETL失败或有限制的用例和示例来详细说明这个主题。

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