我面临实习,他们让我学习如何使用 talend ETL。我做到了,没那么难。分配给我的额外任务之一是验证我在设计工作区中设置的操作中有多少是在 java 中执行的,以及通过使用查询完成了哪些操作。我使用 TMap 组件设置了一个简单的 Join,并通过使用 SQL Profiler 监视了 SQL 数据库。结果是只有基本的创建/删除和表的选择/插入是通过 sql 完成的,而像实际连接这样的所有其他事情都是由“Java”端完成的。只要是像join这样简单的操作,不用麻烦java来执行,通过查询来执行不是很方便吗?对于那些也了解 SAP 的人来说,Talend 和 SAP 在性能方面有这么大的区别吗?
问问题
47 次
1 回答
0
只有 tDB 组件中的操作(创建、选择、插入等)实际上是通过 SQL 完成的。在其他 talend 组件(tMap、tFilter、聚合等)中完成的所有操作都是通过 java 完成的。事实上,在 SQL 端进行操作时,您会有更好的表现。然后,您必须在“all-in-sql”类型的作业和“all-java”类型的作业之间找到适当的平衡。(如果所有 sql 部分都是通过单个组件内的唯一查询完成的,那么 talend 开发人员可能更难调试操作......)。
您绝对可以在 tDBInput 组件中进行连接,并在单个输出流中输出结果。您还可以检查 ELT* 组件:它们允许您在使用 talend 接口时使用 SQL 引擎而不是 java 引擎来执行所有操作(加入、聚合、过滤)。
于 2021-05-19T07:47:36.287 回答