/*
* Copyright 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 glue-2017-03-31.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.Glue.Model
{
///
/// Describes the physical storage of table data.
///
public partial class StorageDescriptor
{
private List _additionalLocations = new List();
private List _bucketColumns = new List();
private List _columns = new List();
private bool? _compressed;
private string _inputFormat;
private string _location;
private int? _numberOfBuckets;
private string _outputFormat;
private Dictionary _parameters = new Dictionary();
private SchemaReference _schemaReference;
private SerDeInfo _serdeInfo;
private SkewedInfo _skewedInfo;
private List _sortColumns = new List();
private bool? _storedAsSubDirectories;
///
/// Gets and sets the property AdditionalLocations.
///
/// A list of locations that point to the path where a Delta table is located.
///
///
public List AdditionalLocations
{
get { return this._additionalLocations; }
set { this._additionalLocations = value; }
}
// Check to see if AdditionalLocations property is set
internal bool IsSetAdditionalLocations()
{
return this._additionalLocations != null && this._additionalLocations.Count > 0;
}
///
/// Gets and sets the property BucketColumns.
///
/// A list of reducer grouping columns, clustering columns, and bucketing columns in the
/// table.
///
///
public List BucketColumns
{
get { return this._bucketColumns; }
set { this._bucketColumns = value; }
}
// Check to see if BucketColumns property is set
internal bool IsSetBucketColumns()
{
return this._bucketColumns != null && this._bucketColumns.Count > 0;
}
///
/// Gets and sets the property Columns.
///
/// A list of the Columns
in the table.
///
///
public List Columns
{
get { return this._columns; }
set { this._columns = value; }
}
// Check to see if Columns property is set
internal bool IsSetColumns()
{
return this._columns != null && this._columns.Count > 0;
}
///
/// Gets and sets the property Compressed.
///
/// True
if the data in the table is compressed, or False
if
/// not.
///
///
public bool Compressed
{
get { return this._compressed.GetValueOrDefault(); }
set { this._compressed = value; }
}
// Check to see if Compressed property is set
internal bool IsSetCompressed()
{
return this._compressed.HasValue;
}
///
/// Gets and sets the property InputFormat.
///
/// The input format: SequenceFileInputFormat
(binary), or TextInputFormat
,
/// or a custom format.
///
///
[AWSProperty(Max=128)]
public string InputFormat
{
get { return this._inputFormat; }
set { this._inputFormat = value; }
}
// Check to see if InputFormat property is set
internal bool IsSetInputFormat()
{
return this._inputFormat != null;
}
///
/// Gets and sets the property Location.
///
/// The physical location of the table. By default, this takes the form of the warehouse
/// location, followed by the database location in the warehouse, followed by the table
/// name.
///
///
[AWSProperty(Max=2056)]
public string Location
{
get { return this._location; }
set { this._location = value; }
}
// Check to see if Location property is set
internal bool IsSetLocation()
{
return this._location != null;
}
///
/// Gets and sets the property NumberOfBuckets.
///
/// Must be specified if the table contains any dimension columns.
///
///
public int NumberOfBuckets
{
get { return this._numberOfBuckets.GetValueOrDefault(); }
set { this._numberOfBuckets = value; }
}
// Check to see if NumberOfBuckets property is set
internal bool IsSetNumberOfBuckets()
{
return this._numberOfBuckets.HasValue;
}
///
/// Gets and sets the property OutputFormat.
///
/// The output format: SequenceFileOutputFormat
(binary), or IgnoreKeyTextOutputFormat
,
/// or a custom format.
///
///
[AWSProperty(Max=128)]
public string OutputFormat
{
get { return this._outputFormat; }
set { this._outputFormat = value; }
}
// Check to see if OutputFormat property is set
internal bool IsSetOutputFormat()
{
return this._outputFormat != null;
}
///
/// Gets and sets the property Parameters.
///
/// The user-supplied properties in key-value form.
///
///
public Dictionary Parameters
{
get { return this._parameters; }
set { this._parameters = value; }
}
// Check to see if Parameters property is set
internal bool IsSetParameters()
{
return this._parameters != null && this._parameters.Count > 0;
}
///
/// Gets and sets the property SchemaReference.
///
/// An object that references a schema stored in the Glue Schema Registry.
///
///
///
/// When creating a table, you can pass an empty list of columns for the schema, and instead
/// use a schema reference.
///
///
public SchemaReference SchemaReference
{
get { return this._schemaReference; }
set { this._schemaReference = value; }
}
// Check to see if SchemaReference property is set
internal bool IsSetSchemaReference()
{
return this._schemaReference != null;
}
///
/// Gets and sets the property SerdeInfo.
///
/// The serialization/deserialization (SerDe) information.
///
///
public SerDeInfo SerdeInfo
{
get { return this._serdeInfo; }
set { this._serdeInfo = value; }
}
// Check to see if SerdeInfo property is set
internal bool IsSetSerdeInfo()
{
return this._serdeInfo != null;
}
///
/// Gets and sets the property SkewedInfo.
///
/// The information about values that appear frequently in a column (skewed values).
///
///
public SkewedInfo SkewedInfo
{
get { return this._skewedInfo; }
set { this._skewedInfo = value; }
}
// Check to see if SkewedInfo property is set
internal bool IsSetSkewedInfo()
{
return this._skewedInfo != null;
}
///
/// Gets and sets the property SortColumns.
///
/// A list specifying the sort order of each bucket in the table.
///
///
public List SortColumns
{
get { return this._sortColumns; }
set { this._sortColumns = value; }
}
// Check to see if SortColumns property is set
internal bool IsSetSortColumns()
{
return this._sortColumns != null && this._sortColumns.Count > 0;
}
///
/// Gets and sets the property StoredAsSubDirectories.
///
/// True
if the table data is stored in subdirectories, or False
/// if not.
///
///
public bool StoredAsSubDirectories
{
get { return this._storedAsSubDirectories.GetValueOrDefault(); }
set { this._storedAsSubDirectories = value; }
}
// Check to see if StoredAsSubDirectories property is set
internal bool IsSetStoredAsSubDirectories()
{
return this._storedAsSubDirectories.HasValue;
}
}
}