我可以在一个Talend工作中两次使用Excel文件吗?

我正在尝试使用Talend将Excel电子表格中的数据上传到Salesforce中。 Excel电子表格有多个工作表,我可以通过不同的模式访问。 即使我使用((String)globalMap.get("tFileList_1_CURRENT_FILEPATH"))的相同input文件path,机会input仍然有效,而帐户input不起作用。

Talend工作的屏幕截图

我怎样才能重构我的工作,以便我可以正确使用Excel表格两次?

Marcus Rickert用自己的评论打了个头,你已经创build了一个竞争条件,因为在subjob的开始加载了查找数据。

有几个解决scheme:

根据我的评论 ,您可以有一个中间步骤,通过将数据从文件中提取出来,然后使得您的工作可访问,从而不依赖于由globalMapvariables定义的只有在查找应该开始之后才被定义。

或者,远离最简单的方法,但可能会影响性能,只需在tMa​​p中更改查找模型即可使用“每行重新加载”。 这将使它重新加载你的整个资源从主进来显然会有一些性能问题,但他们可能是边缘或不是你的问题。 我的testing作业几乎与默认的“加载一次”查找模型几乎同时进行了几十次迭代。 这可能是O(N),虽然这取决于你的数据量。

您可以在tMap的联接设置中find查找模型选项:

在tMap中查找模型