如何使用 Pentaho Kettle 导入一个文本文件中的内容/数据?
How to Import the Contents / Data in a Text file with One field using Pentaho Kettle?
我想解析存在于非结构化文本文件中的数据。
但在此之前,我希望将该文本文件中的全部内容存储到一个字段中。这样,我就可以通过从字段中检索来解析数据。
我打算使用 Javascript 修改值 进行解析。
注:
我正在谈论的文件不是普通文本或 CSV 文件。它是从 Tandem Server.
接收到的直接文件
eg: (文本文件中的内容)
'|16 年 7 月 8 日|1|
5996|W2266001|BODHAN ROADNIZAMABAD|FNFA|5211080013438979|******************|0220|01|7|07-Jul-16|08-Jul-16|23:14 :23|1043|000|00|541100|30000|0000|PRO1|FNFA|00000403362|356|356|0|NIZ-220|NIZAMABAD|TS|IN||16 年 7 月 8 日|1|'
您可以为此使用 "Load file content in memory" 步骤。
它完全符合您的要求,无需解析即可将文件读入每个文件的单个字段中。您无需指定分隔符,而是手动输入字段数据。
选择 "file content" 作为元素,选择 "string" 作为类型。
我看到你的另一个问题了。如果您的文件大小为 1.7 GB,如果没有内存问题,它可能无法加载到一行中。
我测试使用:
- 加载文件到内存,如上所述
- 使用“\|DR\|”将字段拆分为行作为正则表达式分隔符
- Select值,去掉原来巨大的字段
- 拆分字段,使用分隔符“|”到字符串字段列表中(与您的记录最多一样多)。
这提供了一些可用的记录,但您可能需要进行更多处理才能识别某些记录中缺失的列并将它们理顺。
我想解析存在于非结构化文本文件中的数据。 但在此之前,我希望将该文本文件中的全部内容存储到一个字段中。这样,我就可以通过从字段中检索来解析数据。
我打算使用 Javascript 修改值 进行解析。
注:
我正在谈论的文件不是普通文本或 CSV 文件。它是从 Tandem Server.
接收到的直接文件
eg: (文本文件中的内容)
'|16 年 7 月 8 日|1|
5996|W2266001|BODHAN ROADNIZAMABAD|FNFA|5211080013438979|******************|0220|01|7|07-Jul-16|08-Jul-16|23:14 :23|1043|000|00|541100|30000|0000|PRO1|FNFA|00000403362|356|356|0|NIZ-220|NIZAMABAD|TS|IN||16 年 7 月 8 日|1|'
您可以为此使用 "Load file content in memory" 步骤。
它完全符合您的要求,无需解析即可将文件读入每个文件的单个字段中。您无需指定分隔符,而是手动输入字段数据。 选择 "file content" 作为元素,选择 "string" 作为类型。
我看到你的另一个问题了。如果您的文件大小为 1.7 GB,如果没有内存问题,它可能无法加载到一行中。
我测试使用:
- 加载文件到内存,如上所述
- 使用“\|DR\|”将字段拆分为行作为正则表达式分隔符
- Select值,去掉原来巨大的字段
- 拆分字段,使用分隔符“|”到字符串字段列表中(与您的记录最多一样多)。
这提供了一些可用的记录,但您可能需要进行更多处理才能识别某些记录中缺失的列并将它们理顺。