龙空技术网

Kettle(PDI)转换中输入步骤之CSV文件输入详解

中年猿人 99

前言:

此刻各位老铁们对“oracle生成csv换行符”可能比较注重,同学们都需要剖析一些“oracle生成csv换行符”的相关知识。那么小编也在网络上网罗了一些关于“oracle生成csv换行符””的相关知识,希望各位老铁们能喜欢,看官们快快来学习一下吧!

概述

CSV文件输入步骤将数据从带分隔符的文本文件读取到PDI转换中。虽然这个步骤称为CSV文件输入,但是您也可以使用带有许多其他分隔符类型的CSV文件输入,比如管道、选项卡和分号。

注意:分号(;)被设置为这个步骤的默认分隔符类型。

注意:此步骤的选项是文本文件输入步骤的一个子集。此步骤与文本文件输入步骤有以下不同:

NIO:非阻塞I/O用于本机系统调用以更快地读取文件,但仅限于本地文件,它不支持VFS。Parallel Running:如果将此步骤配置为在多个副本中运行(或以集群模式),并且启用并行运行,则每个副本将读取单个文件的单独块。在集群转换中,您可以将文件的读取分发给几个线程甚至几个从节点。Lazy Conversion:如果您正在从一个文件中读取许多字段,并且其中许多字段不会被操作,而只是通过转换将其转移到其他文本文件或数据库中,那么延迟转换可以防止PDI对这些字段执行不必要的工作(比如将它们转换为字符串、日期或数字等对象)。选项介绍

CSV文件输入步骤有以下选项:

Step name(步骤名称):在画布上指定CSV文件输入步骤的唯一名称。您可以自定义名称或将其保留为默认名称。

Filename(文件名):指定输入CSV文件的名称或者通过单击Browse导航到输入文件。如果您的数据源来自上一步,那么Browse按钮将被隐藏。使用文本框中的下拉菜单选择要用作CSV文件名称的字段。

Include the filename in the output?:如果您的数据源源来自前面的步骤,请选择是否希望在输出中包含输入源文件的名称。(只有您的数据源来自上一步时才会显示此选项。)

Delimiter(列分隔符):指定源文件中使用的文件分隔符。特殊字符(例如,CHAR HEX01)可以用$[value]的格式设置。例如,$[01]或$[6F,FF,00,1F]。CSV文件输入步骤的默认分隔符是分号;。

Enclosure(封闭符):指定源文件中使用的结束字符(封闭符)。特殊字符(例如,CHAR HEX01)可以用$[value]的格式设置。例如,$[01]或$[6F,FF,00,1F]。

NIO buffer size(NIO缓存大小):指定读取缓冲区的大小,指一次从源文件读取的字节数。

Lazy conversion?(简易转换?):设置是否可以使用延迟转换算法来提高性能。简易转换算法尽可能避免不必要的数据类型转换。它可以显著提高性能。典型的例子是从一个文本文件中读取并写回一个文本文件。

Header row present?(包含列头行):指示源文件是否包含列名的一个标题行。即:文件的第一行数据。

Add filename to result(将文件添加到结果文件中):将CSV源文件名添加到此转换的结果中。

The row number field name(行号字段):指定将在此步骤的输出中包含的字段名称的行号,即:标题行号。

Running in parallel?(并发运行?):设置您是否将运行此步骤的多个实例(步骤副本),以及是否希望每个实例读取CSV文件的单独部分。当读取多个文件时,将考虑所有文件的总大小来分割工作负载。在这种特定的情况下,请确保所有步骤副本都接收到需要读取的所有文件,否则并行算法将不能正确工作。注意:由于技术原因,只支持并行读取CSV文件的文件中没有带换行符或回车的字段。

New line possible in fields?(字段中有回车换行?):设置数据字段是否可能包含换行字符。

Format(格式):选择文件格式,可以是DOS、UNIX或mixed。UNIX文件是以换行符结束的行。DOS文件用回车符和换行符分隔的行。如果指定mixed,则不执行验证。

File encoding(文件编码):指定源文件的编码。

字段介绍

您可以通过字段列表指定要从CSV文件中读取哪些字段。单击获取字段,让步骤使用基于当前指定设置(如列分隔符或封闭符)从源文件派生的字段填充表。此步骤标识的所有字段都添加到表中。

Name(名称):字段的名称。

Type(类型):字段的类型(String,Date或Number)。

Format(格式):用于转换原始字段格式的可选格式掩码。

Length(长度):字段的长度取决于以下字段类型:Number:一个数字中有效数字的总数;String:字符串的总长度;Date:字符串打印输出的长度(例如,four是一年的长度)。

Precision(精度):用于数字类型字段的浮点数。

Currency(货币符号):用于表示货币的符号(例如$5,000或€5,000,00)。

Decimal(小数点符号):小数点可以是"."或","(例如,5,000.00或5.000,00)。

Group(分组符号):一个分组可以是“,”或“.”(例如5,000.00或5.000,00)。

Trim Type(去除空格类型):应用于字符串的修剪方法。

设置完以后,可以单击预览查看来自源文件的数据。

元数据注入支持

您可以在ETL元数据注入步骤中使用元数据注入支持的字段,以便在运行时将元数据传递给转换。以下CSV文件输入步骤的选项和字段支持元数据注入:

选项:Filename,Delimiter,Enclosure,NIO Buffer Size,Lazy Conversion,Header Row Present?,Add Filename to Result,The Row Number Field Name,Running in Parallel?和File Encoding。

字段:Name,Length,Decimal,Type,Precision,Group,Format,Currency和Trim Type。

示例

双击输入中的CSV文件输入,添加一个CSV文件输入步骤。

添加CSV文件输入

然后双击添加的步骤进行编辑。

编辑CSV文件输入

然后点击浏览,选择您安装的目录下的data-integration/samples/transformations/files/sales_data.csv文件。根据情况进行其他选项跟字段的设置,然后点击获取字段。

获取字段

最后点击预览,可以看到成功从CSV文件读取到了数据。

数据预览

标签: #oracle生成csv换行符