Package software.amazon.awscdk.services.glue
AWS Glue Construct Library
---
AWS CDK v1 has reached End-of-Support on 2023-06-01. This package is no longer being updated, and users should migrate to AWS CDK v2.
For more information on how to migrate, see the Migrating to AWS CDK v2 guide.
This module is part of the AWS Cloud Development Kit project.
Job
A Job
encapsulates a script that connects to data sources, processes them, and then writes output to a data target.
There are 3 types of jobs supported by AWS Glue: Spark ETL, Spark Streaming, and Python Shell jobs.
The glue.JobExecutable
allows you to specify the type of job, the language to use and the code assets required by the job.
glue.Code
allows you to refer to the different code assets required by the job, either from an existing S3 location or from a local file path.
Spark Jobs
These jobs run in an Apache Spark environment managed by AWS Glue.
ETL Jobs
An ETL job processes data in batches using Apache Spark.
Bucket bucket; Job.Builder.create(this, "ScalaSparkEtlJob") .executable(JobExecutable.scalaEtl(ScalaJobExecutableProps.builder() .glueVersion(GlueVersion.V2_0) .script(Code.fromBucket(bucket, "src/com/example/HelloWorld.scala")) .className("com.example.HelloWorld") .extraJars(List.of(Code.fromBucket(bucket, "jars/HelloWorld.jar"))) .build())) .description("an example Scala ETL job") .build();
Streaming Jobs
A Streaming job is similar to an ETL job, except that it performs ETL on data streams. It uses the Apache Spark Structured Streaming framework. Some Spark job features are not available to streaming ETL jobs.
Job.Builder.create(this, "PythonSparkStreamingJob") .executable(JobExecutable.pythonStreaming(PythonSparkJobExecutableProps.builder() .glueVersion(GlueVersion.V2_0) .pythonVersion(PythonVersion.THREE) .script(Code.fromAsset(join(__dirname, "job-script/hello_world.py"))) .build())) .description("an example Python Streaming job") .build();
Python Shell Jobs
A Python shell job runs Python scripts as a shell and supports a Python version that depends on the AWS Glue version you are using. This can be used to schedule and run tasks that don't require an Apache Spark environment.
Bucket bucket; Job.Builder.create(this, "PythonShellJob") .executable(JobExecutable.pythonShell(PythonShellExecutableProps.builder() .glueVersion(GlueVersion.V1_0) .pythonVersion(PythonVersion.THREE) .script(Code.fromBucket(bucket, "script.py")) .build())) .description("an example Python Shell job") .build();
See documentation for more information on adding jobs in Glue.
Connection
A Connection
allows Glue jobs, crawlers and development endpoints to access certain types of data stores. For example, to create a network connection to connect to a data source within a VPC:
SecurityGroup securityGroup; Subnet subnet; Connection.Builder.create(this, "MyConnection") .type(ConnectionType.NETWORK) // The security groups granting AWS Glue inbound access to the data source within the VPC .securityGroups(List.of(securityGroup)) // The VPC subnet which contains the data source .subnet(subnet) .build();
If you need to use a connection type that doesn't exist as a static member on ConnectionType
, you can instantiate a ConnectionType
object, e.g: new glue.ConnectionType('NEW_TYPE')
.
See Adding a Connection to Your Data Store and Connection Structure documentation for more information on the supported data stores and their configurations.
SecurityConfiguration
A SecurityConfiguration
is a set of security properties that can be used by AWS Glue to encrypt data at rest.
SecurityConfiguration.Builder.create(this, "MySecurityConfiguration") .securityConfigurationName("name") .cloudWatchEncryption(CloudWatchEncryption.builder() .mode(CloudWatchEncryptionMode.KMS) .build()) .jobBookmarksEncryption(JobBookmarksEncryption.builder() .mode(JobBookmarksEncryptionMode.CLIENT_SIDE_KMS) .build()) .s3Encryption(S3Encryption.builder() .mode(S3EncryptionMode.KMS) .build()) .build();
By default, a shared KMS key is created for use with the encryption configurations that require one. You can also supply your own key for each encryption config, for example, for CloudWatch encryption:
Key key; SecurityConfiguration.Builder.create(this, "MySecurityConfiguration") .securityConfigurationName("name") .cloudWatchEncryption(CloudWatchEncryption.builder() .mode(CloudWatchEncryptionMode.KMS) .kmsKey(key) .build()) .build();
See documentation for more info for Glue encrypting data written by Crawlers, Jobs, and Development Endpoints.
Database
A Database
is a logical grouping of Tables
in the Glue Catalog.
Database.Builder.create(this, "MyDatabase") .databaseName("my_database") .build();
Table
A Glue table describes a table of data in S3: its structure (column names and types), location of data (S3 objects with a common prefix in a S3 bucket), and format for the files (Json, Avro, Parquet, etc.):
Database myDatabase; Table.Builder.create(this, "MyTable") .database(myDatabase) .tableName("my_table") .columns(List.of(Column.builder() .name("col1") .type(Schema.STRING) .build(), Column.builder() .name("col2") .type(Schema.array(Schema.STRING)) .comment("col2 is an array of strings") .build())) .dataFormat(DataFormat.JSON) .build();
By default, a S3 bucket will be created to store the table's data but you can manually pass the bucket
and s3Prefix
:
Bucket myBucket; Database myDatabase; Table.Builder.create(this, "MyTable") .bucket(myBucket) .s3Prefix("my-table/") // ... .database(myDatabase) .tableName("my_table") .columns(List.of(Column.builder() .name("col1") .type(Schema.STRING) .build())) .dataFormat(DataFormat.JSON) .build();
By default, an S3 bucket will be created to store the table's data and stored in the bucket root. You can also manually pass the bucket
and s3Prefix
:
Partition Keys
To improve query performance, a table can specify partitionKeys
on which data is stored and queried separately. For example, you might partition a table by year
and month
to optimize queries based on a time window:
Database myDatabase; Table.Builder.create(this, "MyTable") .database(myDatabase) .tableName("my_table") .columns(List.of(Column.builder() .name("col1") .type(Schema.STRING) .build())) .partitionKeys(List.of(Column.builder() .name("year") .type(Schema.SMALL_INT) .build(), Column.builder() .name("month") .type(Schema.SMALL_INT) .build())) .dataFormat(DataFormat.JSON) .build();
Partition Indexes
Another way to improve query performance is to specify partition indexes. If no partition indexes are present on the table, AWS Glue loads all partitions of the table and filters the loaded partitions using the query expression. The query takes more time to run as the number of partitions increase. With an index, the query will try to fetch a subset of the partitions instead of loading all partitions of the table.
The keys of a partition index must be a subset of the partition keys of the table. You can have a
maximum of 3 partition indexes per table. To specify a partition index, you can use the partitionIndexes
property:
Database myDatabase; Table.Builder.create(this, "MyTable") .database(myDatabase) .tableName("my_table") .columns(List.of(Column.builder() .name("col1") .type(Schema.STRING) .build())) .partitionKeys(List.of(Column.builder() .name("year") .type(Schema.SMALL_INT) .build(), Column.builder() .name("month") .type(Schema.SMALL_INT) .build())) .partitionIndexes(List.of(PartitionIndex.builder() .indexName("my-index") // optional .keyNames(List.of("year")) .build())) // supply up to 3 indexes .dataFormat(DataFormat.JSON) .build();
Alternatively, you can call the addPartitionIndex()
function on a table:
Table myTable; myTable.addPartitionIndex(PartitionIndex.builder() .indexName("my-index") .keyNames(List.of("year")) .build());
Encryption
You can enable encryption on a Table's data:
Unencrypted
- files are not encrypted. The default encryption setting.- S3Managed - Server side encryption (
SSE-S3
) with an Amazon S3-managed key.
Database myDatabase; Table.Builder.create(this, "MyTable") .encryption(TableEncryption.S3_MANAGED) // ... .database(myDatabase) .tableName("my_table") .columns(List.of(Column.builder() .name("col1") .type(Schema.STRING) .build())) .dataFormat(DataFormat.JSON) .build();
- Kms - Server-side encryption (
SSE-KMS
) with an AWS KMS Key managed by the account owner.
Database myDatabase; // KMS key is created automatically // KMS key is created automatically Table.Builder.create(this, "MyTable") .encryption(TableEncryption.KMS) // ... .database(myDatabase) .tableName("my_table") .columns(List.of(Column.builder() .name("col1") .type(Schema.STRING) .build())) .dataFormat(DataFormat.JSON) .build(); // with an explicit KMS key // with an explicit KMS key Table.Builder.create(this, "MyTable") .encryption(TableEncryption.KMS) .encryptionKey(new Key(this, "MyKey")) // ... .database(myDatabase) .tableName("my_table") .columns(List.of(Column.builder() .name("col1") .type(Schema.STRING) .build())) .dataFormat(DataFormat.JSON) .build();
- KmsManaged - Server-side encryption (
SSE-KMS
), likeKms
, except with an AWS KMS Key managed by the AWS Key Management Service.
Database myDatabase; Table.Builder.create(this, "MyTable") .encryption(TableEncryption.KMS_MANAGED) // ... .database(myDatabase) .tableName("my_table") .columns(List.of(Column.builder() .name("col1") .type(Schema.STRING) .build())) .dataFormat(DataFormat.JSON) .build();
- ClientSideKms - Client-side encryption (
CSE-KMS
) with an AWS KMS Key managed by the account owner.
Database myDatabase; // KMS key is created automatically // KMS key is created automatically Table.Builder.create(this, "MyTable") .encryption(TableEncryption.CLIENT_SIDE_KMS) // ... .database(myDatabase) .tableName("my_table") .columns(List.of(Column.builder() .name("col1") .type(Schema.STRING) .build())) .dataFormat(DataFormat.JSON) .build(); // with an explicit KMS key // with an explicit KMS key Table.Builder.create(this, "MyTable") .encryption(TableEncryption.CLIENT_SIDE_KMS) .encryptionKey(new Key(this, "MyKey")) // ... .database(myDatabase) .tableName("my_table") .columns(List.of(Column.builder() .name("col1") .type(Schema.STRING) .build())) .dataFormat(DataFormat.JSON) .build();
Note: you cannot provide a Bucket
when creating the Table
if you wish to use server-side encryption (KMS
, KMS_MANAGED
or S3_MANAGED
).
Types
A table's schema is a collection of columns, each of which have a name
and a type
. Types are recursive structures, consisting of primitive and complex types:
Database myDatabase; Table.Builder.create(this, "MyTable") .columns(List.of(Column.builder() .name("primitive_column") .type(Schema.STRING) .build(), Column.builder() .name("array_column") .type(Schema.array(Schema.INTEGER)) .comment("array<integer>") .build(), Column.builder() .name("map_column") .type(Schema.map(Schema.STRING, Schema.TIMESTAMP)) .comment("map<string,string>") .build(), Column.builder() .name("struct_column") .type(Schema.struct(List.of(Column.builder() .name("nested_column") .type(Schema.DATE) .comment("nested comment") .build()))) .comment("struct<nested_column:date COMMENT 'nested comment'>") .build())) // ... .database(myDatabase) .tableName("my_table") .dataFormat(DataFormat.JSON) .build();
Primitives
Numeric
| Name | Type | Comments | |----------- |---------- |------------------------------------------------------------------------------------------------------------------ | | FLOAT | Constant | A 32-bit single-precision floating point number | | INTEGER | Constant | A 32-bit signed value in two's complement format, with a minimum value of -2^31 and a maximum value of 2^31-1 | | DOUBLE | Constant | A 64-bit double-precision floating point number | | BIG_INT | Constant | A 64-bit signed INTEGER in two’s complement format, with a minimum value of -2^63 and a maximum value of 2^63 -1 | | SMALL_INT | Constant | A 16-bit signed INTEGER in two’s complement format, with a minimum value of -2^15 and a maximum value of 2^15-1 | | TINY_INT | Constant | A 8-bit signed INTEGER in two’s complement format, with a minimum value of -2^7 and a maximum value of 2^7-1 |
Date and time
| Name | Type | Comments | |----------- |---------- |------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | DATE | Constant | A date in UNIX format, such as YYYY-MM-DD. | | TIMESTAMP | Constant | Date and time instant in the UNiX format, such as yyyy-mm-dd hh:mm:ss[.f...]. For example, TIMESTAMP '2008-09-15 03:04:05.324'. This format uses the session time zone. |
String
| Name | Type | Comments |
|-------------------------------------------- |---------- |--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| STRING | Constant | A string literal enclosed in single or double quotes |
| decimal(precision: number, scale?: number) | Function | precision
is the total number of digits. scale
(optional) is the number of digits in fractional part with a default of 0. For example, use these type definitions: decimal(11,5), decimal(15) |
| char(length: number) | Function | Fixed length character data, with a specified length between 1 and 255, such as char(10) |
| varchar(length: number) | Function | Variable length character data, with a specified length between 1 and 65535, such as varchar(10) |
Miscellaneous
| Name | Type | Comments |
|--------- |---------- |------------------------------- |
| BOOLEAN | Constant | Values are true
and false
|
| BINARY | Constant | Value is in binary |
Complex
| Name | Type | Comments | |------------------------------------- |---------- |------------------------------------------------------------------- | | array(itemType: Type) | Function | An array of some other type | | map(keyType: Type, valueType: Type) | Function | A map of some primitive key type to any value type | | struct(collumns: Column[]) | Function | Nested structure containing individually named and typed collumns | Deprecated: AWS CDK v1 has reached End-of-Support on 2023-06-01. This package is no longer being updated, and users should migrate to AWS CDK v2. For more information on how to migrate, see https://docs.aws.amazon.com/cdk/v2/guide/migrating-v2.html
-
ClassDescription(experimental) Job Code from a local file.A CloudFormation
AWS::Glue::Classifier
.A fluent builder forCfnClassifier
.A classifier for customCSV
content.A builder forCfnClassifier.CsvClassifierProperty
An implementation forCfnClassifier.CsvClassifierProperty
A classifier that usesgrok
patterns.A builder forCfnClassifier.GrokClassifierProperty
An implementation forCfnClassifier.GrokClassifierProperty
A classifier forJSON
content.A builder forCfnClassifier.JsonClassifierProperty
An implementation forCfnClassifier.JsonClassifierProperty
A classifier forXML
content.A builder forCfnClassifier.XMLClassifierProperty
An implementation forCfnClassifier.XMLClassifierProperty
Properties for defining aCfnClassifier
.A builder forCfnClassifierProps
An implementation forCfnClassifierProps
A CloudFormationAWS::Glue::Connection
.A fluent builder forCfnConnection
.A structure that is used to specify a connection to create or update.A builder forCfnConnection.ConnectionInputProperty
An implementation forCfnConnection.ConnectionInputProperty
Specifies the physical requirements for a connection.A builder forCfnConnection.PhysicalConnectionRequirementsProperty
An implementation forCfnConnection.PhysicalConnectionRequirementsProperty
Properties for defining aCfnConnection
.A builder forCfnConnectionProps
An implementation forCfnConnectionProps
A CloudFormationAWS::Glue::Crawler
.A fluent builder forCfnCrawler
.Specifies an AWS Glue Data Catalog target.A builder forCfnCrawler.CatalogTargetProperty
An implementation forCfnCrawler.CatalogTargetProperty
Example:A builder forCfnCrawler.DeltaTargetProperty
An implementation forCfnCrawler.DeltaTargetProperty
Specifies an Amazon DynamoDB table to crawl.A builder forCfnCrawler.DynamoDBTargetProperty
An implementation forCfnCrawler.DynamoDBTargetProperty
Specifies a JDBC data store to crawl.A builder forCfnCrawler.JdbcTargetProperty
An implementation forCfnCrawler.JdbcTargetProperty
Specifies an Amazon DocumentDB or MongoDB data store to crawl.A builder forCfnCrawler.MongoDBTargetProperty
An implementation forCfnCrawler.MongoDBTargetProperty
When crawling an Amazon S3 data source after the first crawl is complete, specifies whether to crawl the entire dataset again or to crawl only folders that were added since the last crawler run.A builder forCfnCrawler.RecrawlPolicyProperty
An implementation forCfnCrawler.RecrawlPolicyProperty
Specifies a data store in Amazon Simple Storage Service (Amazon S3).A builder forCfnCrawler.S3TargetProperty
An implementation forCfnCrawler.S3TargetProperty
A scheduling object using acron
statement to schedule an event.A builder forCfnCrawler.ScheduleProperty
An implementation forCfnCrawler.ScheduleProperty
The policy that specifies update and delete behaviors for the crawler.A builder forCfnCrawler.SchemaChangePolicyProperty
An implementation forCfnCrawler.SchemaChangePolicyProperty
Specifies data stores to crawl.A builder forCfnCrawler.TargetsProperty
An implementation forCfnCrawler.TargetsProperty
Properties for defining aCfnCrawler
.A builder forCfnCrawlerProps
An implementation forCfnCrawlerProps
A CloudFormationAWS::Glue::Database
.A fluent builder forCfnDatabase
.A structure that describes a target database for resource linking.A builder forCfnDatabase.DatabaseIdentifierProperty
An implementation forCfnDatabase.DatabaseIdentifierProperty
The structure used to create or update a database.A builder forCfnDatabase.DatabaseInputProperty
An implementation forCfnDatabase.DatabaseInputProperty
The AWS Lake Formation principal.A builder forCfnDatabase.DataLakePrincipalProperty
An implementation forCfnDatabase.DataLakePrincipalProperty
Example:A builder forCfnDatabase.FederatedDatabaseProperty
An implementation forCfnDatabase.FederatedDatabaseProperty
the permissions granted to a principal.A builder forCfnDatabase.PrincipalPrivilegesProperty
An implementation forCfnDatabase.PrincipalPrivilegesProperty
Properties for defining aCfnDatabase
.A builder forCfnDatabaseProps
An implementation forCfnDatabaseProps
A CloudFormationAWS::Glue::DataCatalogEncryptionSettings
.A fluent builder forCfnDataCatalogEncryptionSettings
.The data structure used by the Data Catalog to encrypt the password as part ofCreateConnection
orUpdateConnection
and store it in theENCRYPTED_PASSWORD
field in the connection properties.An implementation forCfnDataCatalogEncryptionSettings.ConnectionPasswordEncryptionProperty
Contains configuration information for maintaining Data Catalog security.An implementation forCfnDataCatalogEncryptionSettings.DataCatalogEncryptionSettingsProperty
Specifies the encryption-at-rest configuration for the Data Catalog.An implementation forCfnDataCatalogEncryptionSettings.EncryptionAtRestProperty
Properties for defining aCfnDataCatalogEncryptionSettings
.A builder forCfnDataCatalogEncryptionSettingsProps
An implementation forCfnDataCatalogEncryptionSettingsProps
A CloudFormationAWS::Glue::DevEndpoint
.A fluent builder forCfnDevEndpoint
.Properties for defining aCfnDevEndpoint
.A builder forCfnDevEndpointProps
An implementation forCfnDevEndpointProps
A CloudFormationAWS::Glue::Job
.A fluent builder forCfnJob
.Specifies the connections used by a job.A builder forCfnJob.ConnectionsListProperty
An implementation forCfnJob.ConnectionsListProperty
An execution property of a job.A builder forCfnJob.ExecutionPropertyProperty
An implementation forCfnJob.ExecutionPropertyProperty
Specifies code executed when a job is run.A builder forCfnJob.JobCommandProperty
An implementation forCfnJob.JobCommandProperty
Specifies configuration properties of a notification.A builder forCfnJob.NotificationPropertyProperty
An implementation forCfnJob.NotificationPropertyProperty
Properties for defining aCfnJob
.A builder forCfnJobProps
An implementation forCfnJobProps
A CloudFormationAWS::Glue::MLTransform
.A fluent builder forCfnMLTransform
.The parameters to configure the find matches transform.A builder forCfnMLTransform.FindMatchesParametersProperty
An implementation forCfnMLTransform.FindMatchesParametersProperty
The database and table in the AWS Glue Data Catalog that is used for input or output data.A builder forCfnMLTransform.GlueTablesProperty
An implementation forCfnMLTransform.GlueTablesProperty
A list of AWS Glue table definitions used by the transform.A builder forCfnMLTransform.InputRecordTablesProperty
An implementation forCfnMLTransform.InputRecordTablesProperty
The encryption-at-rest settings of the transform that apply to accessing user data.A builder forCfnMLTransform.MLUserDataEncryptionProperty
An implementation forCfnMLTransform.MLUserDataEncryptionProperty
The encryption-at-rest settings of the transform that apply to accessing user data.A builder forCfnMLTransform.TransformEncryptionProperty
An implementation forCfnMLTransform.TransformEncryptionProperty
The algorithm-specific parameters that are associated with the machine learning transform.A builder forCfnMLTransform.TransformParametersProperty
An implementation forCfnMLTransform.TransformParametersProperty
Properties for defining aCfnMLTransform
.A builder forCfnMLTransformProps
An implementation forCfnMLTransformProps
A CloudFormationAWS::Glue::Partition
.A fluent builder forCfnPartition
.A column in aTable
.A builder forCfnPartition.ColumnProperty
An implementation forCfnPartition.ColumnProperty
Specifies the sort order of a sorted column.A builder forCfnPartition.OrderProperty
An implementation forCfnPartition.OrderProperty
The structure used to create and update a partition.A builder forCfnPartition.PartitionInputProperty
An implementation forCfnPartition.PartitionInputProperty
A structure that contains schema identity fields.A builder forCfnPartition.SchemaIdProperty
An implementation forCfnPartition.SchemaIdProperty
An object that references a schema stored in the AWS Glue Schema Registry.A builder forCfnPartition.SchemaReferenceProperty
An implementation forCfnPartition.SchemaReferenceProperty
Information about a serialization/deserialization program (SerDe) that serves as an extractor and loader.A builder forCfnPartition.SerdeInfoProperty
An implementation forCfnPartition.SerdeInfoProperty
Specifies skewed values in a table.A builder forCfnPartition.SkewedInfoProperty
An implementation forCfnPartition.SkewedInfoProperty
Describes the physical storage of table data.A builder forCfnPartition.StorageDescriptorProperty
An implementation forCfnPartition.StorageDescriptorProperty
Properties for defining aCfnPartition
.A builder forCfnPartitionProps
An implementation forCfnPartitionProps
A CloudFormationAWS::Glue::Registry
.A fluent builder forCfnRegistry
.Properties for defining aCfnRegistry
.A builder forCfnRegistryProps
An implementation forCfnRegistryProps
A CloudFormationAWS::Glue::Schema
.A fluent builder forCfnSchema
.Specifies a registry in the AWS Glue Schema Registry.A builder forCfnSchema.RegistryProperty
An implementation forCfnSchema.RegistryProperty
Specifies the version of a schema.A builder forCfnSchema.SchemaVersionProperty
An implementation forCfnSchema.SchemaVersionProperty
Properties for defining aCfnSchema
.A builder forCfnSchemaProps
An implementation forCfnSchemaProps
A CloudFormationAWS::Glue::SchemaVersion
.A fluent builder forCfnSchemaVersion
.A wrapper structure to contain schema identity fields.A builder forCfnSchemaVersion.SchemaProperty
An implementation forCfnSchemaVersion.SchemaProperty
A CloudFormationAWS::Glue::SchemaVersionMetadata
.A fluent builder forCfnSchemaVersionMetadata
.Properties for defining aCfnSchemaVersionMetadata
.A builder forCfnSchemaVersionMetadataProps
An implementation forCfnSchemaVersionMetadataProps
Properties for defining aCfnSchemaVersion
.A builder forCfnSchemaVersionProps
An implementation forCfnSchemaVersionProps
A CloudFormationAWS::Glue::SecurityConfiguration
.A fluent builder forCfnSecurityConfiguration
.Specifies how Amazon CloudWatch data should be encrypted.A builder forCfnSecurityConfiguration.CloudWatchEncryptionProperty
An implementation forCfnSecurityConfiguration.CloudWatchEncryptionProperty
Specifies an encryption configuration.A builder forCfnSecurityConfiguration.EncryptionConfigurationProperty
An implementation forCfnSecurityConfiguration.EncryptionConfigurationProperty
Specifies how job bookmark data should be encrypted.A builder forCfnSecurityConfiguration.JobBookmarksEncryptionProperty
An implementation forCfnSecurityConfiguration.JobBookmarksEncryptionProperty
Specifies how Amazon Simple Storage Service (Amazon S3) data should be encrypted.A builder forCfnSecurityConfiguration.S3EncryptionProperty
An implementation forCfnSecurityConfiguration.S3EncryptionProperty
Properties for defining aCfnSecurityConfiguration
.A builder forCfnSecurityConfigurationProps
An implementation forCfnSecurityConfigurationProps
A CloudFormationAWS::Glue::Table
.A fluent builder forCfnTable
.A column in aTable
.A builder forCfnTable.ColumnProperty
An implementation forCfnTable.ColumnProperty
Specifies the sort order of a sorted column.A builder forCfnTable.OrderProperty
An implementation forCfnTable.OrderProperty
A structure that contains schema identity fields.A builder forCfnTable.SchemaIdProperty
An implementation forCfnTable.SchemaIdProperty
An object that references a schema stored in the AWS Glue Schema Registry.A builder forCfnTable.SchemaReferenceProperty
An implementation forCfnTable.SchemaReferenceProperty
Information about a serialization/deserialization program (SerDe) that serves as an extractor and loader.A builder forCfnTable.SerdeInfoProperty
An implementation forCfnTable.SerdeInfoProperty
Specifies skewed values in a table.A builder forCfnTable.SkewedInfoProperty
An implementation forCfnTable.SkewedInfoProperty
Describes the physical storage of table data.A builder forCfnTable.StorageDescriptorProperty
An implementation forCfnTable.StorageDescriptorProperty
A structure that describes a target table for resource linking.A builder forCfnTable.TableIdentifierProperty
An implementation forCfnTable.TableIdentifierProperty
A structure used to define a table.A builder forCfnTable.TableInputProperty
An implementation forCfnTable.TableInputProperty
Properties for defining aCfnTable
.A builder forCfnTableProps
An implementation forCfnTableProps
A CloudFormationAWS::Glue::Trigger
.Defines an action to be initiated by a trigger.A builder forCfnTrigger.ActionProperty
An implementation forCfnTrigger.ActionProperty
A fluent builder forCfnTrigger
.Defines a condition under which a trigger fires.A builder forCfnTrigger.ConditionProperty
An implementation forCfnTrigger.ConditionProperty
Batch condition that must be met (specified number of events received or batch time window expired) before EventBridge event trigger fires.A builder forCfnTrigger.EventBatchingConditionProperty
An implementation forCfnTrigger.EventBatchingConditionProperty
Specifies configuration properties of a job run notification.A builder forCfnTrigger.NotificationPropertyProperty
An implementation forCfnTrigger.NotificationPropertyProperty
Defines the predicate of the trigger, which determines when it fires.A builder forCfnTrigger.PredicateProperty
An implementation forCfnTrigger.PredicateProperty
Properties for defining aCfnTrigger
.A builder forCfnTriggerProps
An implementation forCfnTriggerProps
A CloudFormationAWS::Glue::Workflow
.A fluent builder forCfnWorkflow
.Properties for defining aCfnWorkflow
.A builder forCfnWorkflowProps
An implementation forCfnWorkflowProps
(experimental) Classification string given to tables with this data format.(experimental) CloudWatch Logs encryption configuration.A builder forCloudWatchEncryption
An implementation forCloudWatchEncryption
(experimental) Encryption mode for CloudWatch Logs.(experimental) Represents a Glue Job's Code assets (an asset can be a scripts, a jar, a python file or any other file).(experimental) Result of bindingCode
into aJob
.A builder forCodeConfig
An implementation forCodeConfig
(experimental) A column of a table.A builder forColumn
An implementation forColumn
(experimental) An AWS Glue connection to a data source.(experimental) A fluent builder forConnection
.(experimental) Base Connection Options.A builder forConnectionOptions
An implementation forConnectionOptions
(experimental) Construction properties forConnection
.A builder forConnectionProps
An implementation forConnectionProps
(experimental) The type of the glue connection.(experimental) Properties for enabling Continuous Logging for Glue Jobs.A builder forContinuousLoggingProps
An implementation forContinuousLoggingProps
(experimental) A Glue database.(experimental) A fluent builder forDatabase
.Example:A builder forDatabaseProps
An implementation forDatabaseProps
(experimental) Defines the input/output formats and ser/de for a single DataFormat.(experimental) A fluent builder forDataFormat
.(experimental) Properties of a DataFormat instance.A builder forDataFormatProps
An implementation forDataFormatProps
(experimental) AWS Glue version determines the versions of Apache Spark and Python that are available to the job.(experimental) Interface representing a created or an importedConnection
.Internal default implementation forIConnection
.A proxy class which represents a concrete javascript instance of this type.Internal default implementation forIDatabase
.A proxy class which represents a concrete javascript instance of this type.(experimental) Interface representing a created or an importedJob
.Internal default implementation forIJob
.A proxy class which represents a concrete javascript instance of this type.(experimental) Absolute class name of the HadoopInputFormat
to use when reading table files.(experimental) Interface representing a created or an importedSecurityConfiguration
.Internal default implementation forISecurityConfiguration
.A proxy class which represents a concrete javascript instance of this type.Internal default implementation forITable
.A proxy class which represents a concrete javascript instance of this type.(experimental) A Glue Job.(experimental) A fluent builder forJob
.(experimental) Attributes for importingJob
.A builder forJobAttributes
An implementation forJobAttributes
(experimental) Job bookmarks encryption configuration.A builder forJobBookmarksEncryption
An implementation forJobBookmarksEncryption
(experimental) Encryption mode for Job Bookmarks.(experimental) The executable properties related to the Glue job's GlueVersion, JobType and code.(experimental) Result of binding aJobExecutable
into aJob
.A builder forJobExecutableConfig
An implementation forJobExecutableConfig
(experimental) Runtime language of the Glue job.(experimental) Construction properties forJob
.A builder forJobProps
An implementation forJobProps
(experimental) Job states emitted by Glue to CloudWatch Events.(experimental) The job type.(experimental) The Glue CloudWatch metric type.(experimental) Absolute class name of the HadoopOutputFormat
to use when writing table files.(experimental) Properties of a Partition Index.A builder forPartitionIndex
An implementation forPartitionIndex
(experimental) Props for creating a Python shell job executable.A builder forPythonShellExecutableProps
An implementation forPythonShellExecutableProps
(experimental) Props for creating a Python Spark (ETL or Streaming) job executable.A builder forPythonSparkJobExecutableProps
An implementation forPythonSparkJobExecutableProps
(experimental) Python version.(experimental) Glue job Code from an S3 bucket.(experimental) S3 encryption configuration.A builder forS3Encryption
An implementation forS3Encryption
(experimental) Encryption mode for S3.(experimental) Props for creating a Scala Spark (ETL or Streaming) job executable.A builder forScalaJobExecutableProps
An implementation forScalaJobExecutableProps
Example:(experimental) A security configuration is a set of security properties that can be used by AWS Glue to encrypt data at rest.(experimental) A fluent builder forSecurityConfiguration
.(experimental) Constructions properties ofSecurityConfiguration
.A builder forSecurityConfigurationProps
An implementation forSecurityConfigurationProps
(experimental) Serialization library to use when serializing/deserializing (SerDe) table records.(experimental) The Spark UI logging location.A builder forSparkUILoggingLocation
An implementation forSparkUILoggingLocation
(experimental) Properties for enabling Spark UI monitoring feature for Spark-based Glue jobs.A builder forSparkUIProps
An implementation forSparkUIProps
(experimental) A Glue table.(experimental) A fluent builder forTable
.Example:A builder forTableAttributes
An implementation forTableAttributes
(experimental) Encryption options for a Table.Example:A builder forTableProps
An implementation forTableProps
(experimental) Represents a type of a column in a table schema.A builder forType
An implementation forType
(experimental) The type of predefined worker that is allocated when a job runs.