在 Talend 中读取文本文件

本节介绍如何在 Talend 中读取文本文件并在 Job 中使用文本文件数据。以下 Talend 图像显示了您要读取的文本文件中的数据。

Employee Information File

要在 Talend 中读取文本文件,您必须使用 tFileInputDelimited 字段或在 File Delimited 文件夹下创建元数据。为此,请右键单击 File Delimited 并从上下文菜单中选择 Create File Delimited 选项。或使用导出项导出文件元数据。

Create a File Delimiter

Talend 读取文本文件示例

单击 Create File Delimited 选项后,将打开以下 New Delimited File 窗口。请填写文件名、此文本文件的用途以及文本文件内数据的简要描述。

Read Text File in Talend 2

在此处,单击 Browse 按钮选择要加载到 Talend 中的文本文件。接下来,我们选择 EmpInfo.txt 文件。

选择文本文件后,您可以在 File Viewer 下看到文件数据。使用 format 选项选择操作系统。在这里,我们将其保留为默认的 UNIX,这在大多数情况下都可以正常工作!

在下一页中,我们有许多选项。

  • Encoding: 默认情况下,Talend 会选择合适的编码。但是,您可以使用下拉按钮进行选择。
  • Field Separator: 请选择分隔文本文件中每个列的字段。如果所需的定界符不在选项中,请选择 Custom 并使用 Corresponding Character 选项放置定界符。
  • Row Separator: 请选择分隔每行的字段。我的意思是,每行一个新行 = \n,等等。
  • Rows To Skip: 如果要跳过任何行,您可以选择位置(Header rows 或 Footer rows),然后指定要跳过的行数。例如,如果文本文件在标题中有列名,则需要跳过第一行(Header = 1)。如果您有地址详细信息等文件信息作为页脚,请选择 Footer 并跳过这些行。
  • Skip empty row: 顾名思义,它会跳过文本文件中的空行。
  • Escape Char settings: 请使用这些设置选择 CSV 文件中的转义字符。
  • Limit Of Rows: 如果您的文本文件有数千万条记录,而您想将其限制为 50,000 条,请使用此 Limit 选项并指定数量。

请勾选 Set heading row as column Names 并单击 Refresh Preview 按钮。我们这样做是因为我们的文本文件的第一列包含列名。如果您注意到 Rows to Skip 部分,它会自动勾选 Header 选项并为其分配 1。

接下来,我们将 Field Separator 更改为 Comma,因为 Comma 分隔了我的列。现在,您可以在 preview 部分看到文本文件的列。

Read Text File in Talend 9

在下一页中,为此 File Delimited 元数据分配唯一名称。接下来,检查 Data type、data patterns(如果有)、length,然后单击 finish 按钮。

Read Text File in Talend 10

现在,您可以在 File Delimited 文件夹下看到文件元数据。

Read Text File in Talend 11

有两种方法可以在 Talend 作业中使用此文本文件数据。第一种方法是使用我们之前创建的文件元数据。因此,将 EmpInfo 从 File Delimited 文件夹拖放到 Job design 中。

这将打开以下 Components 窗口。请选择 tFileInputDelimited 并单击 OK 按钮。

现在,您可以看到 Component 选项卡中的 File 选项已填充了文本文件元数据信息。

Read Text File in Talend 13

读取 Talend 中文本文件的第二种方法

第二个选项是拖放 Talend tFileInputDelimited 并从本地系统选择文件。接下来,单击 Edit Schema 以查看其为空。在这里,您必须使用 + 按钮添加所有字段或列名、长度、数据类型、精度和数据格式。

如果 Property Type 是 built-in,那么您必须手动选择文本文件或 CSV 文件。此过程用于在 Talend 中读取 Excel 文件而不创建元数据。

Read Text File in Talend 14

另一种方法是拖放 tFileInputDelimited。接下来,将 Property type 更改为 Repository 并从 Repository 选择元数据。然后将 schema 更改为 Repository 并选择 EmpInfo 元数据的 schema。

我将在 Talend tLogRow 中显示文本文件的输出。因此,拖动 tLogRow 并为 tLogRow 选择 Table preview。请运行 Talend 读取文本文件作业。您将看到结果。请参阅 将数据从文本文件加载到数据库 文章,将此文本文件加载到数据库中。

Run the Read Text File in Talend Job