Friday, June 21, 2013

Text File Input

The Text File Input step is used to read data from a variety of different text-file types. The most commonly used formats include Comma Separated Values (CSV files) generated by spreadsheets and fixed width flat files.
The Text File Input step provides you with the ability to specify a list of files to read, or a list of directories with wild cards in the form of regular expressions. In addition, you can accept file names from a previous step making file name handling more even more generic.
The following sections describe the available options for configuring the Text file input step.

File Tab Options

Option Description
Step NameOptionally, you can change the name of this step to fit your needs.
File or Directory Specifies the location and/or name of the input text file (s) to be read. .
Note: Click (Add) to add the file/directory/wildcard combination to the list of selected files (grid) below.
Regular expression Specify the regular expression you want to use to select the files in the directory specified in the previous option. For example, you want to process all files that have a .txt extension. (See below)
Selected Files This table contains a list of selected files (or wild card selections) along with a property specifying if file is required or not. If a file is required and it isn't found, an error is generated. Otherwise, the file name is skipped.
Show filenames(s)... Displays a list of all files that will be loaded based on the current selected file definitions.
Show file content Displays the raw content of the selected file.
Show content from first data line Displays the content from the first data line only for the selected file.
Note:
Selecting file using Regular Expressions The Text File Input step can search for files by wildcard in the form of a regular expression. Regular expressions are more sophisticated than using '*' and '?' wildcards. Below are a few examples of regular expressions:
File Name Regular Expression Files selected
/dirA/ .userdata.\.txt Find all files in /dirA/ with names containing userdata and ending with .txt
/dirB/ AAA.* Find all files in /dirB/ with names that start with AAA
/dirC/ [ENG:A-Z][ENG:0-9].* Find all files in /dirC/ with names that start with a capital and followed by a digit (A0-Z9)
Note: Accepting file names from a previous step This option allows even more flexibility in combination with other steps such as "Get File Names". You can create your file name and pass it to this step. This way the file name can come from any source; a text file, database table, and so on.
Option Description
Accept file names from previous steps Enables the option to get file names from previous steps
Step to read file names from Step from which to read the file names
Field in the input to use as file name Text File Input looks in this step to determine which filenames to use

Content Tab

Options under the Content tab allow you to specify the format of the text files that are being read. Below is a list of the options associated with this tab:
Option Description
File type
Can be either CSV or Fixed length. Based on this selection, Spoon will launch a different helper GUI when you click Get Fields in the Fields tab.
Separator One or more characters that separate the fields in a single line of text. Typically this is ; or a tab.
Enclosure Some fields can be enclosed by a pair of strings to allow separator characters in fields. The enclosure string is optional. If you use repeat an enclosures allow text line 'Not the nine o''clock news.'. With ' the enclosure string, this gets parsed as Not the nine o'clock news.
Allow breaks in enclosed fields? Not implemented
Escape Specify an escape character (or characters) if you have these types of characters in your data. If you have \ as an escape character, the text 'Not the nine o\'clock news' (with ' the enclosure) gets parsed as Not the nine o'clock news.
Header & number of header lines Enable if your text file has a header row (first lines in the file); you can specify the number of times the header lines appears.
Footer & number of footer lines Enable if your text file has a footer row (last lines in the file); you can specify the number of times the footer row appears.
Wrapped lines and number of wraps Use if you deal with data lines that have wrapped beyond a specific page limit; note that headers and footers are never considered wrapped
Paged layout and page size and doc header Use these options as a last resort when dealing with texts meant for printing on a line printer; use the number of document header lines to skip introductory texts and the number of lines per page to position the data lines
Compression Enable if your text file is in a Zip or GZip archive.
No empty rows Do not send empty rows to the next steps.
Include file name in output Enable if you want the file name to be part of the output
File name field name Name of the field that contains the file name
Rownum in output? Enable if you want the row number to be part of the output
Row number field name Name of the field that contains the row number
Format Can be either DOS, UNIX, or mixed. UNIX files have lines that are terminated by line feeds. DOS files have lines separated by carriage returns and line feeds. If you specify mixed, no verification is done.
Encoding Specify the text file encoding to use; leave blank to use the default encoding on your system. To use Unicode, specify UTF-8 or UTF-16. On first use, Spoon searches your system for available encodings.
LimitThe maximum number of rows that will be read from the file
Be lenient when parsing dates? Disable if you want strict parsing of data fields; if case-lenient parsing is enabled, dates like Jan 32nd will become Feb 1st.
The date format Locale This locale is used to parse dates that have been written in full such as "February 2nd, 2010;" parsing this date on a system running in the French (fr_FR) locale would not work because February is called FĂ©vrier in that locale.
Add filenames to result Enable so that output file names are added as a field in the results

Error Handling Tab

Options under the Error Handling tab allow you to specify how the step reacts when errors (such as, malformed records, bad enclosure strings, wrong number of fields, premature line ends), occur. The table below describes the options available for Error handling:
Option Description
Ignore errors? Enable if you want to ignore errors during parsing
Skip error lines Enable if you want to skip those lines that contain errors. You can generate an extra file that contains the line numbers on which the errors occurred. When lines with errors are not skipped, the fields that have parsing errors, will be empty (null)
Error count field name Add a field to the output stream rows; this field contains the number of errors on the line
Error fields field name Add a field to the output stream rows; this field contains the field names on which an error occurred
Error text field name Add a field to the output stream rows; this field contains the descriptions of the parsing errors that have occurred
Warnings file directory When warnings are generated, they are placed in this directory. The name of that file is <warning dir>/filename.<date_time>.<warning extension>
Error files directory When errors occur, they are placed in this directory. The name of the file is <errorfile_dir>/filename.<date_time>.<errorfile_extension>
Failing line numbers files directory When a parsing error occurs on a line, the line number is placed in this directory. The name of that file is <errorline dir>/filename.<date_time>.<errorline extension>

Filters Tab

Options under the Filters tab allow you to specify the lines you want to skip in the text file. The table below describes the available options for defining filters:
Option Description
Filter string The string for which to search
Filter position The position where the filter string has to be at in the line. Zero (0) is the first position in the line. If you specify a value below zero (0) here, the filter string is searched for in the entire string.
Stop on filter Specify Y here to stop processing the current text file when the filter string is encountered.
Positive MatchIncludes the rows where the filter condition is found (include). The alternative is that those rows are avoided (exclude).

Fields Tab

The options under the Fields tab allow you to specify the information about the name and format of the fields being read from the text file. Available options include:
Option Description
Name Name of the field
Type Type of the field can be either String, Date or Number
Format See Number Formats below for a complete description of format symbols.
Length For Number: Total number of significant figures in a number; For String: total length of string; For Date: length of printed output of the string (e.g. 4 only gives back the year).
Precision For Number: Number of floating point digits; For String, Date, Boolean: unused;
Currency Used to interpret numbers like $10,000.00 or E5.000,00
Decimal A decimal point can be a "." (10,000.00) or "," (5.000,00)
Grouping A grouping can be a dot "," (10;000.00) or "." (5.000,00)
Null if Treat this value as NULL
Default Default value in case the field in the text file was not specified (empty)
Trim Type Type trim this field (left, right, both) before processing
Repeat If the corresponding value in this row is empty, repeat the one from the last time it was not empty (Y/N)
Note: Number formats The information about Number formats was taken from the Sun Java API documentation, Decimal Formats.
SymbolLocationLocalizedMeaning
0 NumberYesDigit
#NumberYesDigit, zero shows as absent
. NumberYesDecimal separator or monetary decimal separator
- NumberYesMinus sign
, NumberYesGrouping separator
ENumberYesSeparates mantissa and exponent in scientific notation; need not be quoted in prefix or suffix
;Sub pattern boundary YesSeparates positive and negative sub patterns
% Prefix or suffix YesMultiply by 100 and show as percentage
\u2030 Prefix or suffixYesMultiply by 1000 and show as per mille
(\u00A4) Prefix or suffix NoCurrency sign, replaced by currency symbol. If doubled, replaced by international currency symbol. If present in a pattern, the monetary decimal separator is used instead of the decimal separator.
'Prefix or suffix NoUsed to quote special characters in a prefix or suffix, for example, "'#'#" formats 123 to "#123". To create a single quote itself, use two in a row: "# o''clock".
Note: Scientific Notation In a pattern, the exponent character immediately followed by one or more digit characters indicates scientific notation (for example, "0.###E0" formats the number 1234 as "1.234E3".
Note: Date formats The information about Date formats was taken from the Sun Java API documentation, Date Formats.
LetterDate or Time ComponentPresentationExamples
GEra designator TextAD
yYearYear1996; 96
MMonth in year MonthJuly; Jul; 07
wWeek in year Number27
WWeek in month Number2
DDay in year Number189
dDay in month Number10
FDay of week in month Number2
EDay in week TextTuesday; Tue
aAm/pm marker TextPM
HHour in day (0-23) Number 0 n/a
kHour in day (1-24) Number 24 n/a
KHour in am/pm (0-11) Number 0 n/a
hHour in am/pm (1-12) Number 12n/a
mMinute in hourNumber 30 n/a
sSecond in minute Number 55n/a
SMillisecondNumber 978 n/a
z Time zone General time zonePacific Standard Time; PST; GMT-08:00
ZTime zone RFC 822 time zone-0800

1 comment:

  1. I need help can you please let me know what is the maximum size of input text file can be validated in pentaho

    ReplyDelete