Skip to main content
Pentaho Documentation

ORC Input

Parent article

The ORC Input step reads the fields data from an Apache ORC (Optimized Row Columnar) file into the PDI data stream. You can execute the transformation with PDI or with the Adaptive Execution Layer (AEL), using Spark as the processing engine.

Before using the ORC Input step, you must install and configure the correct shim for your distribution, even if you set your Location to Local. For information on configuring a shim for a specific distribution, see Set up Pentaho to connect to a Hadoop cluster.

AEL considerations

When using the ORC Input step with the Adaptive Execution Layer, the following factor affects performance and results:

  • Spark processes null values differently than the Pentaho engine. You will need to adjust your transformation to successfully process null values according to Spark's processing rules.

Options

Enter the following information in the ORC Input step fields:

FieldDescription
Step NameSpecify the unique name of the ORC Input step on the canvas. You can customize the name or use the provided default.
LocationIndicates the file system or specific cluster where the source file you want to input is located. For the supported file system types, see Using the virtual file system browser in PDI.
Folder/File Name

Specify the fully qualified URL of the source file or folder name for the input fields.

  • The Pentaho engine reads a single ORC file as input.
  • The Spark engine reads all the ORC files in a specifed folder as input.

Fields

The Fields section contains the following items:

  • A Pass through fields from the previous step option that allows you to read the fields from the input file without redefining any of the fields.
  • A table defining data about the columns to read from the ORC file.
ORC Input dialog

The table in the Fields section defines the fields to read as input from the ORC file, the associated PDI field name, and the data type of the field. Enter the information for the ORC Input step fields as shown in the following table:

FieldDescription
ORC path (ORC type)Specify the name of the field as it will appear in the ORC data file or files, and the ORC data type.
NameSpecify the name of the input field.
TypeSpecify the data type of the input field.

You can define the fields manually, or you can provide a path to an ORC data file and click Get Fields to populate all the fields. When the fields are retrieved, the ORC type is converted into an appropriate PDI type. You can preview the data in the ORC file by clicking Preview. You can change the PDI type by using the Type drop-down or by entering the type manually.

ORC types

The ORC to PDI data type values are shown in the table below:

ORC TypePDI Type
StringString
TimeStampTimeStamp
BinaryBinary
DecimalBigNumber
BooleanBoolean
DateDate
IntegerInteger
DoubleNumber

AEL Types

In AEL, the ORC step automatically converts ORC rows to Spark SQL rows. The following table lists the conversion types:

Orc TypeSpark SQL Type
BooleanBoolean
TinyIntShort
SmallIntShort
IntegerInteger
BigIntLong
BinaryBinary
FloatFloat
DoubleDouble
DecimalBigNumber
CharString
VarCharString
TimestampTimestamp
DateDate

Metadata injection support

All fields of this step support metadata injection. You can use this step with ETL metadata injection to pass metadata to your transformation at runtime.