tFileOutputExcel 无法在“附加”模式下工作

问题描述 投票:0回答:2

当我尝试将数据写入之前创建的 Excel 文件时,我发布了一个在 Talend 作业中遇到的奇怪问题。

参考下图,我使用“tFileCopy”组件(下图中的“create_file_from_template”块)从模板创建一个 Excel 文件。我需要这样做,因为我有一个带有两个标题行和适当颜色的单元格的 Excel 文件。

Create file from template

Excel 文件的创建始终运行没有问题。 成功创建文件后,将调用自定义 SQL 函数(上图中的“advance_task”块)。 黄色的子作业是有时会产生问题的块。我使用“tDBInput”组件从 PostgreSQL 数据库读取数据。在这个组件之后,我放置了一个“tMap”组件,但如果没有它,它也可能是相同的。数据被写入之前创建的 Excel 文件中。设置非常简单,如下图所示:

tFileOutputExcel configuration

当数据未写入 Excel 文件时,作业不会进行并保持在黄色块,不会产生错误。系统级别也没有错误。

什么时候出现问题?

  1. 即使查询提取 10.000-12.000 行,作业也可以在 Talend Open Studio 交互模式下正常运行。当作业被安排并在后台运行时,就会出现问题。
  2. 问题可能与提取的行数有关。当我有很多行时(比如说 7.000-8.000 行),出现问题的可能性就会增加。我假设,由于查询响应时间与提取的行数成正比,文件被挂接到流,但流不会立即生成数据流。
  3. 此问题仅在使用 PostgreSQL 连接时出现。使用与 MS SQL Server 的连接时不会发生这种情况。我创建了其他作业,就像这个作业一样,它使用现有的 Excel 文件(带有两个标题行),复制它,然后将其用作 SQL 查询的输出。

有人有什么想法吗?我已经尝试了一切,但仍然没有找出问题的原因。 我在 Talend Community(现在的 Qlik Community)上发布了这个问题,但直到现在还没人给我反馈/解决方案。

提前非常感谢您

talend
2个回答
0
投票

也许您的堆空间不足。您可以尝试稍微提高 -Xmx#### 。我本打算告诉您如何在 Studio 中执行此操作,但这可能与独立运行不同。


0
投票

非常感谢您的回答。 我等了几周才向您提供有关您建议的更改的反馈,只是为了确保问题得到彻底解决。 我更改了调用者作业的堆空间(见下图),因为我认为有问题的作业的堆空间已经被更改了。

the caller job

© www.soinside.com 2019 - 2024. All rights reserved.