aws-cdk-lib.aws_glue.CfnTable.TableInputProperty

interface TableInputProperty

LanguageType name
.NETAmazon.CDK.AWS.Glue.CfnTable.TableInputProperty
Gogithub.com/aws/aws-cdk-go/awscdk/v2/awsglue#CfnTable_TableInputProperty
Javasoftware.amazon.awscdk.services.glue.CfnTable.TableInputProperty
Pythonaws_cdk.aws_glue.CfnTable.TableInputProperty
TypeScript aws-cdk-lib » aws_glue » CfnTable » TableInputProperty

A structure used to define a table.

Example

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_glue as glue } from 'aws-cdk-lib';

declare const parameters: any;
declare const skewedColumnValueLocationMaps: any;
const tableInputProperty: glue.CfnTable.TableInputProperty = {
  description: 'description',
  name: 'name',
  owner: 'owner',
  parameters: parameters,
  partitionKeys: [{
    name: 'name',

    // the properties below are optional
    comment: 'comment',
    type: 'type',
  }],
  retention: 123,
  storageDescriptor: {
    bucketColumns: ['bucketColumns'],
    columns: [{
      name: 'name',

      // the properties below are optional
      comment: 'comment',
      type: 'type',
    }],
    compressed: false,
    inputFormat: 'inputFormat',
    location: 'location',
    numberOfBuckets: 123,
    outputFormat: 'outputFormat',
    parameters: parameters,
    schemaReference: {
      schemaId: {
        registryName: 'registryName',
        schemaArn: 'schemaArn',
        schemaName: 'schemaName',
      },
      schemaVersionId: 'schemaVersionId',
      schemaVersionNumber: 123,
    },
    serdeInfo: {
      name: 'name',
      parameters: parameters,
      serializationLibrary: 'serializationLibrary',
    },
    skewedInfo: {
      skewedColumnNames: ['skewedColumnNames'],
      skewedColumnValueLocationMaps: skewedColumnValueLocationMaps,
      skewedColumnValues: ['skewedColumnValues'],
    },
    sortColumns: [{
      column: 'column',
      sortOrder: 123,
    }],
    storedAsSubDirectories: false,
  },
  tableType: 'tableType',
  targetTable: {
    catalogId: 'catalogId',
    databaseName: 'databaseName',
    name: 'name',
  },
  viewExpandedText: 'viewExpandedText',
  viewOriginalText: 'viewOriginalText',
};

Properties

NameTypeDescription
description?stringA description of the table.
name?stringThe table name.
owner?stringThe table owner.
parameters?anyThese key-value pairs define properties associated with the table.
partitionKeys?IResolvable | IResolvable | ColumnProperty[]A list of columns by which the table is partitioned. Only primitive types are supported as partition keys.
retention?numberThe retention time for this table.
storageDescriptor?IResolvable | StorageDescriptorPropertyA storage descriptor containing information about the physical storage of this table.
tableType?stringThe type of this table.
targetTable?IResolvable | TableIdentifierPropertyA TableIdentifier structure that describes a target table for resource linking.
viewExpandedText?stringIncluded for Apache Hive compatibility.
viewOriginalText?stringIncluded for Apache Hive compatibility.

description?

Type: string (optional)

A description of the table.


name?

Type: string (optional)

The table name.

For Hive compatibility, this is folded to lowercase when it is stored.


owner?

Type: string (optional)

The table owner.

Included for Apache Hive compatibility. Not used in the normal course of AWS Glue operations.


parameters?

Type: any (optional)

These key-value pairs define properties associated with the table.


partitionKeys?

Type: IResolvable | IResolvable | ColumnProperty[] (optional)

A list of columns by which the table is partitioned. Only primitive types are supported as partition keys.

When you create a table used by Amazon Athena, and you do not specify any partitionKeys , you must at least set the value of partitionKeys to an empty list. For example:

"PartitionKeys": []


retention?

Type: number (optional)

The retention time for this table.


storageDescriptor?

Type: IResolvable | StorageDescriptorProperty (optional)

A storage descriptor containing information about the physical storage of this table.


tableType?

Type: string (optional)

The type of this table.

AWS Glue will create tables with the EXTERNAL_TABLE type. Other services, such as Athena, may create tables with additional table types.

AWS Glue related table types:

  • EXTERNAL_TABLE - Hive compatible attribute - indicates a non-Hive managed table.
  • GOVERNED - Used by AWS Lake Formation . The AWS Glue Data Catalog understands GOVERNED .

targetTable?

Type: IResolvable | TableIdentifierProperty (optional)

A TableIdentifier structure that describes a target table for resource linking.


viewExpandedText?

Type: string (optional)

Included for Apache Hive compatibility.

Not used in the normal course of AWS Glue operations.


viewOriginalText?

Type: string (optional)

Included for Apache Hive compatibility.

Not used in the normal course of AWS Glue operations. If the table is a VIRTUAL_VIEW , certain Athena configuration encoded in base64.