/* * Copyright 2010-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the firehose-2015-08-04.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.KinesisFirehose.Model { /// /// A serializer to use for converting data to the ORC format before storing it in Amazon /// S3. For more information, see Apache ORC. /// public partial class OrcSerDe { private int? _blockSizeBytes; private List _bloomFilterColumns = new List(); private double? _bloomFilterFalsePositiveProbability; private OrcCompression _compression; private double? _dictionaryKeyThreshold; private bool? _enablePadding; private OrcFormatVersion _formatVersion; private double? _paddingTolerance; private int? _rowIndexStride; private int? _stripeSizeBytes; /// /// Gets and sets the property BlockSizeBytes. /// /// 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. The default is 256 MiB and /// the minimum is 64 MiB. Kinesis Data Firehose uses this value for padding calculations. /// /// [AWSProperty(Min=67108864)] public int BlockSizeBytes { get { return this._blockSizeBytes.GetValueOrDefault(); } set { this._blockSizeBytes = value; } } // Check to see if BlockSizeBytes property is set internal bool IsSetBlockSizeBytes() { return this._blockSizeBytes.HasValue; } /// /// Gets and sets the property BloomFilterColumns. /// /// The column names for which you want Kinesis Data Firehose to create bloom filters. /// The default is null. /// /// public List BloomFilterColumns { get { return this._bloomFilterColumns; } set { this._bloomFilterColumns = value; } } // Check to see if BloomFilterColumns property is set internal bool IsSetBloomFilterColumns() { return this._bloomFilterColumns != null && this._bloomFilterColumns.Count > 0; } /// /// Gets and sets the property BloomFilterFalsePositiveProbability. /// /// The Bloom filter false positive probability (FPP). The lower the FPP, the bigger the /// Bloom filter. The default value is 0.05, the minimum is 0, and the maximum is 1. /// /// [AWSProperty(Min=0, Max=1)] public double BloomFilterFalsePositiveProbability { get { return this._bloomFilterFalsePositiveProbability.GetValueOrDefault(); } set { this._bloomFilterFalsePositiveProbability = value; } } // Check to see if BloomFilterFalsePositiveProbability property is set internal bool IsSetBloomFilterFalsePositiveProbability() { return this._bloomFilterFalsePositiveProbability.HasValue; } /// /// Gets and sets the property Compression. /// /// The compression code to use over data blocks. The default is SNAPPY. /// /// public OrcCompression Compression { get { return this._compression; } set { this._compression = value; } } // Check to see if Compression property is set internal bool IsSetCompression() { return this._compression != null; } /// /// Gets and sets the property DictionaryKeyThreshold. /// /// Represents the fraction of the total number of non-null rows. To turn off dictionary /// encoding, set this fraction to a number that is less than the number of distinct keys /// in a dictionary. To always use dictionary encoding, set this threshold to 1. /// /// [AWSProperty(Min=0, Max=1)] public double DictionaryKeyThreshold { get { return this._dictionaryKeyThreshold.GetValueOrDefault(); } set { this._dictionaryKeyThreshold = value; } } // Check to see if DictionaryKeyThreshold property is set internal bool IsSetDictionaryKeyThreshold() { return this._dictionaryKeyThreshold.HasValue; } /// /// Gets and sets the property EnablePadding. /// /// Set this to true to 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. The default is false. /// /// public bool EnablePadding { get { return this._enablePadding.GetValueOrDefault(); } set { this._enablePadding = value; } } // Check to see if EnablePadding property is set internal bool IsSetEnablePadding() { return this._enablePadding.HasValue; } /// /// Gets and sets the property FormatVersion. /// /// The version of the file to write. The possible values are V0_11 and V0_12. /// The default is V0_12. /// /// public OrcFormatVersion FormatVersion { get { return this._formatVersion; } set { this._formatVersion = value; } } // Check to see if FormatVersion property is set internal bool IsSetFormatVersion() { return this._formatVersion != null; } /// /// Gets and sets the property PaddingTolerance. /// /// 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 OrcSerDe$EnablePadding is /// false. /// /// [AWSProperty(Min=0, Max=1)] public double PaddingTolerance { get { return this._paddingTolerance.GetValueOrDefault(); } set { this._paddingTolerance = value; } } // Check to see if PaddingTolerance property is set internal bool IsSetPaddingTolerance() { return this._paddingTolerance.HasValue; } /// /// Gets and sets the property RowIndexStride. /// /// The number of rows between index entries. The default is 10,000 and the minimum is /// 1,000. /// /// [AWSProperty(Min=1000)] public int RowIndexStride { get { return this._rowIndexStride.GetValueOrDefault(); } set { this._rowIndexStride = value; } } // Check to see if RowIndexStride property is set internal bool IsSetRowIndexStride() { return this._rowIndexStride.HasValue; } /// /// Gets and sets the property StripeSizeBytes. /// /// The number of bytes in each stripe. The default is 64 MiB and the minimum is 8 MiB. /// /// [AWSProperty(Min=8388608)] public int StripeSizeBytes { get { return this._stripeSizeBytes.GetValueOrDefault(); } set { this._stripeSizeBytes = value; } } // Check to see if StripeSizeBytes property is set internal bool IsSetStripeSizeBytes() { return this._stripeSizeBytes.HasValue; } } }