OrcOutputFormatProps
- class aws_cdk.aws_kinesisfirehose.OrcOutputFormatProps(*, block_size=None, bloom_filter_columns=None, bloom_filter_false_positive_probability=None, compression=None, dictionary_key_threshold=None, enable_padding=None, format_version=None, padding_tolerance=None, row_index_stride=None, stripe_size=None)
Bases:
objectProps for ORC output format for data record format conversion.
- Parameters:
block_size (
Optional[Size]) – The Hadoop Distributed File System (HDFS) block size. This is useful if you intend to copy the data from Amazon S3 to HDFS before querying. Firehose uses this value for padding calculations. Default:Size.mebibytes(256)bloom_filter_columns (
Optional[Sequence[str]]) – The column names for which you want Firehose to create bloom filters. Default: no bloom filters are createdbloom_filter_false_positive_probability (
Union[int,float,None]) – The Bloom filter false positive probability (FPP). The lower the FPP, the bigger the bloom filter. Default:0.05compression (
Optional[OrcCompression]) – The compression code to use over data blocks. The possible values areNONE,SNAPPY, andZLIB. UseSNAPPYfor higher decompression speed. UseGZIPif the compression ratio is more important than speed. Default:SNAPPYdictionary_key_threshold (
Union[int,float,None]) – Determines whether dictionary encoding should be applied to a column. If the number of distinct keys (unique values) in a column exceeds this fraction of the total non-null rows in that column, dictionary encoding will be turned off for that specific column. To turn off dictionary encoding, set this threshold to 0. To always use dictionary encoding, set this threshold to 1. Default:0.8enable_padding (
Optional[bool]) – Set this totrueto indicate that you want stripes to be padded to the HDFS block boundaries. This is useful if you intend to copy the data from Amazon S3 to HDFS before querying. Default:falseformat_version (
Optional[OrcFormatVersion]) – The version of the ORC format to write. The possible values areV0_11andV0_12. Default:V0_12padding_tolerance (
Union[int,float,None]) – A number between 0 and 1 that defines the tolerance for block padding as a decimal fraction of stripe size. The default value is 0.05, which means 5 percent of stripe size. For the default values of 64 MiB ORC stripes and 256 MiB HDFS blocks, the default block padding tolerance of 5 percent reserves a maximum of 3.2 MiB for padding within the 256 MiB block. In such a case, if the available size within the block is more than 3.2 MiB, a new, smaller stripe is inserted to fit within that space. This ensures that no stripe crosses block boundaries and causes remote reads within a node-local task. Kinesis Data Firehose ignores this parameter whenEnablePaddingisfalse. Default:0.05ifenablePaddingistruerow_index_stride (
Union[int,float,None]) – The number of rows between index entries. Default: 10000stripe_size (
Optional[Size]) – The number of bytes in each stripe. The default is 64 MiB and the minimum is 8 MiB. Default:Size.mebibytes(64)
- ExampleMetadata:
infused
Example:
output_format = firehose.OrcOutputFormat( format_version=firehose.OrcFormatVersion.V0_11, block_size=Size.mebibytes(256), compression=firehose.OrcCompression.NONE, bloom_filter_columns=["columnA"], bloom_filter_false_positive_probability=0.1, dictionary_key_threshold=0.7, enable_padding=True, padding_tolerance=0.2, row_index_stride=9000, stripe_size=Size.mebibytes(32) )
Attributes
- block_size
The Hadoop Distributed File System (HDFS) block size.
This is useful if you intend to copy the data from Amazon S3 to HDFS before querying. Firehose uses this value for padding calculations.
- Default:
Size.mebibytes(256)- Minimum:
Size.mebibytes(64)
- bloom_filter_columns
The column names for which you want Firehose to create bloom filters.
- bloom_filter_false_positive_probability
The Bloom filter false positive probability (FPP).
The lower the FPP, the bigger the bloom filter.
- compression
The compression code to use over data blocks.
The possible values are
NONE,SNAPPY, andZLIB. UseSNAPPYfor higher decompression speed. UseGZIPif the compression ratio is more important than speed.
- dictionary_key_threshold
Determines whether dictionary encoding should be applied to a column.
If the number of distinct keys (unique values) in a column exceeds this fraction of the total non-null rows in that column, dictionary encoding will be turned off for that specific column.
To turn off dictionary encoding, set this threshold to 0. To always use dictionary encoding, set this threshold to 1.
- enable_padding
Set this to
trueto indicate that you want stripes to be padded to the HDFS block boundaries.This is useful if you intend to copy the data from Amazon S3 to HDFS before querying.
- format_version
The version of the ORC format to write.
The possible values are
V0_11andV0_12.
- padding_tolerance
A number between 0 and 1 that defines the tolerance for block padding as a decimal fraction of stripe size.
The default value is 0.05, which means 5 percent of stripe size.
For the default values of 64 MiB ORC stripes and 256 MiB HDFS blocks, the default block padding tolerance of 5 percent reserves a maximum of 3.2 MiB for padding within the 256 MiB block. In such a case, if the available size within the block is more than 3.2 MiB, a new, smaller stripe is inserted to fit within that space. This ensures that no stripe crosses block boundaries and causes remote reads within a node-local task.
Kinesis Data Firehose ignores this parameter when
EnablePaddingisfalse.
- row_index_stride
The number of rows between index entries.
- stripe_size
The number of bytes in each stripe.
The default is 64 MiB and the minimum is 8 MiB.
- Default:
Size.mebibytes(64)- See:
- Minimum:
Size.mebibytes(8)