我想知道ETL不能解决的问题。正如我们都知道的,我们可以提取数据,进行一些转换和处理,并将转换后的数据存储到数据存储中,在ETL中处理也可能非常复杂。
那么,如果除了使用J2EE构建UI应用程序之外,一切都可以使用ETL完成,那么编写Java代码的范围是什么呢?
哪种算法在ETL中运行良好,哪种类型的算法应该在ETL之外运行。
在这方面,我更喜欢谈论ETL工具,而不是ETL这个概念,比如Talend是一个自动生成代码(特定于ETL供应商是如何实现的)的工具,而不是编写自己的代码来实现它,例如,更改实现以提高内存效率与时间效率或提高时间效率与内存效率,更重要的是,使事物在本质上通用。!!
因此,在制作产品和编写算法时,为了实现长期目标,我们应该使用标准的ETL工具或自定义代码。
有人能用ETL失败或有局限性的用例和例子来详细说明这个主题吗?
提前感谢:)!
发布于 2015-08-14 03:53:08
正如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工具失败,这将是一个合理的问题。答案取决于您试图实现的目标以及您的工具支持的功能。如今,大多数工具都支持无数的数据源和目标,并允许您通过使用各种语言(包括Java )编写自己的代码来扩展所提供的转换。
https://stackoverflow.com/questions/31995099
复制相似问题