【问题标题】:Adding static files to Talend jobs将静态文件添加到 Talend 作业
【发布时间】:2014-12-08 08:52:12
【问题描述】:

我正在使用 Talend Open Studio for Big Data,我有一份工作,我使用 tFileInputDelimited 加载 CSV 文件并将其用作 tMap 的查找。

目前该文件是使用绝对路径 (C:\work\jobs\lookup.csv) 从磁盘加载的,并且在本地一切正常。

问题是,当我部署任务时,它显然没有带上 lookup.csv 文件。

这引出了一个问题:

有没有办法将此文件(lookup.csv)“捆绑”到作业中,以便稍后将它们一起部署?

【问题讨论】:

  • 抱歉,但不是很清楚你想要什么......你想阅读多个 csv 文件 - 你在哪里动态提供文件路径,或者你想知道如何部署这项工作?
  • 抱歉不够清楚..我想要的是让一些工作资产(即外部文件)以某种方式包含在工作中,然后在其中引用,例如:而不是加载外部文件通过给出一个绝对路径,我会给出一个像'/resources/myLookup.csv'这样的路径,其中'resources'在工作本身内。
  • 导出作业后,您可以在eclipse中将其导入以创建ANT构建,在Build.xml中您可以指定需要捆绑的文件及其输出位置。这样您就可以将外部事物与 talend 工作捆绑在一起。但目前 Talend 不支持此功能。

标签: csv talend


【解决方案1】:

对于这样的静态数据,最好的办法是使用 tFixedFlowInput 将数据硬编码到作业中。

例如,如果我们要使用国家/地区名称列表、它们的 ISO2 和 ISO3 代码,您可能会将这些保存在 CSV 中,您通常可以使用 tFileInputDelimited 访问该列表。但是,要保存在每个构建中捆绑此 CSV(可以使用 ANT/Maven 完成),您可以将这些数据硬编码到 tFixedFlowInput 中:

然后,您只需确保您的架构设置为与您的分隔文件相同(因此在这种情况下,我们有 3 列:Country_NameISO2ISO3)。

【讨论】:

  • 谢谢。我已经熟悉这种方法,并且我已经在使用它进行更简单的查找。不幸的是,我想在不重新部署作业的情况下更改值,所以我最终创建了一个基于数据库的查找表。无论如何,谢谢你,我认为这对其他人非常有帮助。标记。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-20
  • 2022-01-13
  • 1970-01-01
相关资源
最近更新 更多