Class: AWSCDK::Glue::CfnTable::StorageDescriptorProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
glue/cfn_table.rb

Overview

Describes the physical storage of table data.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(bucket_columns: nil, columns: nil, compressed: nil, input_format: nil, location: nil, number_of_buckets: nil, output_format: nil, parameters: nil, schema_reference: nil, serde_info: nil, skewed_info: nil, sort_columns: nil, stored_as_sub_directories: nil) ⇒ StorageDescriptorProperty

Returns a new instance of StorageDescriptorProperty.

Parameters:

  • bucket_columns (Array<String>, nil) (defaults to: nil)

    A list of reducer grouping columns, clustering columns, and bucketing columns in the table.

  • columns (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::Glue::CfnTable::ColumnProperty>, nil) (defaults to: nil)

    A list of the Columns in the table.

  • compressed (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    True if the data in the table is compressed, or False if not.

  • input_format (String, nil) (defaults to: nil)

    The input format: SequenceFileInputFormat (binary), or TextInputFormat , or a custom format.

  • location (String, nil) (defaults to: nil)

    The physical location of the table.

  • number_of_buckets (Numeric, nil) (defaults to: nil)

    Must be specified if the table contains any dimension columns.

  • output_format (String, nil) (defaults to: nil)

    The output format: SequenceFileOutputFormat (binary), or IgnoreKeyTextOutputFormat , or a custom format.

  • parameters (Object, nil) (defaults to: nil)

    The user-supplied properties in key-value form.

  • schema_reference (AWSCDK::IResolvable, AWSCDK::Glue::CfnTable::SchemaReferenceProperty, nil) (defaults to: nil)

    An object that references a schema stored in the AWS Glue Schema Registry.

  • serde_info (AWSCDK::IResolvable, AWSCDK::Glue::CfnTable::SerdeInfoProperty, nil) (defaults to: nil)

    The serialization/deserialization (SerDe) information.

  • skewed_info (AWSCDK::IResolvable, AWSCDK::Glue::CfnTable::SkewedInfoProperty, nil) (defaults to: nil)

    The information about values that appear frequently in a column (skewed values).

  • sort_columns (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::Glue::CfnTable::OrderProperty>, nil) (defaults to: nil)

    A list specifying the sort order of each bucket in the table.

  • stored_as_sub_directories (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    True if the table data is stored in subdirectories, or False if not.



1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
# File 'glue/cfn_table.rb', line 1332

def initialize(bucket_columns: nil, columns: nil, compressed: nil, input_format: nil, location: nil, number_of_buckets: nil, output_format: nil, parameters: nil, schema_reference: nil, serde_info: nil, skewed_info: nil, sort_columns: nil, stored_as_sub_directories: nil)
  @bucket_columns = bucket_columns
  Jsii::Type.check_type(@bucket_columns, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "bucketColumns") unless @bucket_columns.nil?
  @columns = columns
  Jsii::Type.check_type(@columns, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZ2x1ZS5DZm5UYWJsZS5Db2x1bW5Qcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "columns") unless @columns.nil?
  @compressed = compressed
  Jsii::Type.check_type(@compressed, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "compressed") unless @compressed.nil?
  @input_format = input_format
  Jsii::Type.check_type(@input_format, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "inputFormat") unless @input_format.nil?
  @location = location
  Jsii::Type.check_type(@location, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "location") unless @location.nil?
  @number_of_buckets = number_of_buckets
  Jsii::Type.check_type(@number_of_buckets, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "numberOfBuckets") unless @number_of_buckets.nil?
  @output_format = output_format
  Jsii::Type.check_type(@output_format, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "outputFormat") unless @output_format.nil?
  @parameters = parameters
  Jsii::Type.check_type(@parameters, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "parameters") unless @parameters.nil?
  @schema_reference = schema_reference.is_a?(Hash) ? ::AWSCDK::Glue::CfnTable::SchemaReferenceProperty.new(**schema_reference.transform_keys(&:to_sym)) : schema_reference
  Jsii::Type.check_type(@schema_reference, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19nbHVlLkNmblRhYmxlLlNjaGVtYVJlZmVyZW5jZVByb3BlcnR5In1dfX0=")), "schemaReference") unless @schema_reference.nil?
  @serde_info = serde_info.is_a?(Hash) ? ::AWSCDK::Glue::CfnTable::SerdeInfoProperty.new(**serde_info.transform_keys(&:to_sym)) : serde_info
  Jsii::Type.check_type(@serde_info, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19nbHVlLkNmblRhYmxlLlNlcmRlSW5mb1Byb3BlcnR5In1dfX0=")), "serdeInfo") unless @serde_info.nil?
  @skewed_info = skewed_info.is_a?(Hash) ? ::AWSCDK::Glue::CfnTable::SkewedInfoProperty.new(**skewed_info.transform_keys(&:to_sym)) : skewed_info
  Jsii::Type.check_type(@skewed_info, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19nbHVlLkNmblRhYmxlLlNrZXdlZEluZm9Qcm9wZXJ0eSJ9XX19")), "skewedInfo") unless @skewed_info.nil?
  @sort_columns = sort_columns
  Jsii::Type.check_type(@sort_columns, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZ2x1ZS5DZm5UYWJsZS5PcmRlclByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "sortColumns") unless @sort_columns.nil?
  @stored_as_sub_directories = stored_as_sub_directories
  Jsii::Type.check_type(@stored_as_sub_directories, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "storedAsSubDirectories") unless @stored_as_sub_directories.nil?
end

Instance Attribute Details

#bucket_columnsArray<String>? (readonly)

A list of reducer grouping columns, clustering columns, and bucketing columns in the table.



1365
1366
1367
# File 'glue/cfn_table.rb', line 1365

def bucket_columns
  @bucket_columns
end

#columnsAWSCDK::IResolvable, ... (readonly)

A list of the Columns in the table.



1370
1371
1372
# File 'glue/cfn_table.rb', line 1370

def columns
  @columns
end

#compressedBoolean, ... (readonly)

True if the data in the table is compressed, or False if not.



1375
1376
1377
# File 'glue/cfn_table.rb', line 1375

def compressed
  @compressed
end

#input_formatString? (readonly)

The input format: SequenceFileInputFormat (binary), or TextInputFormat , or a custom format.



1380
1381
1382
# File 'glue/cfn_table.rb', line 1380

def input_format
  @input_format
end

#locationString? (readonly)

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.



1387
1388
1389
# File 'glue/cfn_table.rb', line 1387

def location
  @location
end

#number_of_bucketsNumeric? (readonly)

Must be specified if the table contains any dimension columns.



1392
1393
1394
# File 'glue/cfn_table.rb', line 1392

def number_of_buckets
  @number_of_buckets
end

#output_formatString? (readonly)

The output format: SequenceFileOutputFormat (binary), or IgnoreKeyTextOutputFormat , or a custom format.



1397
1398
1399
# File 'glue/cfn_table.rb', line 1397

def output_format
  @output_format
end

#parametersObject? (readonly)

The user-supplied properties in key-value form.



1402
1403
1404
# File 'glue/cfn_table.rb', line 1402

def parameters
  @parameters
end

#schema_referenceAWSCDK::IResolvable, ... (readonly)

An object that references a schema stored in the AWS Glue Schema Registry.



1407
1408
1409
# File 'glue/cfn_table.rb', line 1407

def schema_reference
  @schema_reference
end

#serde_infoAWSCDK::IResolvable, ... (readonly)

The serialization/deserialization (SerDe) information.



1412
1413
1414
# File 'glue/cfn_table.rb', line 1412

def serde_info
  @serde_info
end

#skewed_infoAWSCDK::IResolvable, ... (readonly)

The information about values that appear frequently in a column (skewed values).



1417
1418
1419
# File 'glue/cfn_table.rb', line 1417

def skewed_info
  @skewed_info
end

#sort_columnsAWSCDK::IResolvable, ... (readonly)

A list specifying the sort order of each bucket in the table.



1422
1423
1424
# File 'glue/cfn_table.rb', line 1422

def sort_columns
  @sort_columns
end

#stored_as_sub_directoriesBoolean, ... (readonly)

True if the table data is stored in subdirectories, or False if not.



1427
1428
1429
# File 'glue/cfn_table.rb', line 1427

def stored_as_sub_directories
  @stored_as_sub_directories
end

Class Method Details

.jsii_propertiesObject



1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
# File 'glue/cfn_table.rb', line 1429

def self.jsii_properties
  {
    :bucket_columns => "bucketColumns",
    :columns => "columns",
    :compressed => "compressed",
    :input_format => "inputFormat",
    :location => "location",
    :number_of_buckets => "numberOfBuckets",
    :output_format => "outputFormat",
    :parameters => "parameters",
    :schema_reference => "schemaReference",
    :serde_info => "serdeInfo",
    :skewed_info => "skewedInfo",
    :sort_columns => "sortColumns",
    :stored_as_sub_directories => "storedAsSubDirectories",
  }
end

Instance Method Details

#to_jsiiObject



1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
# File 'glue/cfn_table.rb', line 1447

def to_jsii
  result = {}
  result.merge!({
    "bucketColumns" => @bucket_columns,
    "columns" => @columns,
    "compressed" => @compressed,
    "inputFormat" => @input_format,
    "location" => @location,
    "numberOfBuckets" => @number_of_buckets,
    "outputFormat" => @output_format,
    "parameters" => @parameters,
    "schemaReference" => @schema_reference,
    "serdeInfo" => @serde_info,
    "skewedInfo" => @skewed_info,
    "sortColumns" => @sort_columns,
    "storedAsSubDirectories" => @stored_as_sub_directories,
  })
  result.compact
end