Pentaho文本文件输入卡住

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

我有一个TextFile,其中的数据以每行某种格式解析。

它是众多选择之一,并且只有34504行,它很小。大小是274KB。它们每个都发生相同的问题。

我使用了文本文件输入步骤,并将$ {line.seperator}用作分隔符(实际上在变量列表中找不到它,但在换行符的其他答案中找到了它)。 “获取字段”使我得到了Field_00,而“预览”向我显示了我想要的每一行中的所有数据。

现在,如果我要执行转换,它将陷入该步骤,并且永远不会完成。我将“写入日志文件”步骤放在该步骤之后,但从未达到该步骤,甚至单步执行也无法完成。即使将文件从“ filename.ges”更改为“ .txt”或“ .csv”也不会更改结果。

如果停止转换,它将进入无限停止状态,我需要重新启动PDI。

我还增加了spoon.bat中的Java MaxPermSize,因为我第一次得到了空指针异常:

if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms1024m" "-Xmx2048m" "-XX:MaxPermSize=8000m"

PDI版本8.3.0.0-371

有人对我如何解决这个问题有想法吗?

步骤和预览行的内容:enter image description here

pentaho pdi
1个回答
0
投票

您正在使用line分隔符的值配置field分隔符。它可能正在尝试构造一个包含34504行字符的字符串。

如果要分别将行读入单个字段,请使用固定宽度文件类型(配置中的顶层项目,并定义1个长度为99999999999999999的字段。

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