@aws-cdk/aws-glue-alpha 2.80.0-alpha.0 → 2.81.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +112 -76
- package/.jsii.tabl.json.gz +0 -0
- package/README.md +1 -0
- package/lib/code.js +3 -3
- package/lib/connection.js +2 -2
- package/lib/data-format.js +5 -5
- package/lib/database.js +1 -1
- package/lib/job-executable.js +3 -3
- package/lib/job.d.ts +8 -0
- package/lib/job.js +11 -3
- package/lib/schema.js +1 -1
- package/lib/security-configuration.js +1 -1
- package/lib/table.js +1 -1
- package/package.json +7 -7
package/.jsii
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"url": "https://aws.amazon.com"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"aws-cdk-lib": "2.
|
|
11
|
+
"aws-cdk-lib": "2.81.0",
|
|
12
12
|
"constructs": "^10.0.0"
|
|
13
13
|
},
|
|
14
14
|
"dependencyClosure": {
|
|
@@ -3474,7 +3474,7 @@
|
|
|
3474
3474
|
},
|
|
3475
3475
|
"name": "@aws-cdk/aws-glue-alpha",
|
|
3476
3476
|
"readme": {
|
|
3477
|
-
"markdown": "# AWS Glue Construct Library\n<!--BEGIN STABILITY BANNER-->\n\n---\n\n\n\n> The APIs of higher level constructs in this module are experimental and under active development.\n> They are subject to non-backward compatible changes or removal in any future version. These are\n> not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be\n> announced in the release notes. This means that while you may use them, you may need to update\n> your source code when upgrading to a newer version of this package.\n\n---\n\n<!--END STABILITY BANNER-->\n\nThis module is part of the [AWS Cloud Development Kit](https://github.com/aws/aws-cdk) project.\n\n## Job\n\nA `Job` encapsulates a script that connects to data sources, processes them, and then writes output to a data target.\n\nThere are 3 types of jobs supported by AWS Glue: Spark ETL, Spark Streaming, and Python Shell jobs.\n\nThe `glue.JobExecutable` allows you to specify the type of job, the language to use and the code assets required by the job.\n\n`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.\n\n### Spark Jobs\n\nThese jobs run in an Apache Spark environment managed by AWS Glue.\n\n#### ETL Jobs\n\nAn ETL job processes data in batches using Apache Spark.\n\n```ts\ndeclare const bucket: s3.Bucket;\nnew glue.Job(this, 'ScalaSparkEtlJob', {\n executable: glue.JobExecutable.scalaEtl({\n glueVersion: glue.GlueVersion.V4_0,\n script: glue.Code.fromBucket(bucket, 'src/com/example/HelloWorld.scala'),\n className: 'com.example.HelloWorld',\n extraJars: [glue.Code.fromBucket(bucket, 'jars/HelloWorld.jar')],\n }),\n description: 'an example Scala ETL job',\n});\n```\n\n#### Streaming Jobs\n\nA 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.\n\n```ts\nnew glue.Job(this, 'PythonSparkStreamingJob', {\n executable: glue.JobExecutable.pythonStreaming({\n glueVersion: glue.GlueVersion.V4_0,\n pythonVersion: glue.PythonVersion.THREE,\n script: glue.Code.fromAsset(path.join(__dirname, 'job-script/hello_world.py')),\n }),\n description: 'an example Python Streaming job',\n});\n```\n\n### Python Shell Jobs\n\nA Python shell job runs Python scripts as a shell and supports a Python version that depends on the AWS Glue version you are using.\nThis can be used to schedule and run tasks that don't require an Apache Spark environment. Currently, three flavors are supported:\n\n* PythonVersion.TWO (2.7; EOL)\n* PythonVersion.THREE (3.6)\n* PythonVersion.THREE_NINE (3.9)\n\n```ts\ndeclare const bucket: s3.Bucket;\nnew glue.Job(this, 'PythonShellJob', {\n executable: glue.JobExecutable.pythonShell({\n glueVersion: glue.GlueVersion.V1_0,\n pythonVersion: glue.PythonVersion.THREE,\n script: glue.Code.fromBucket(bucket, 'script.py'),\n }),\n description: 'an example Python Shell job',\n});\n```\n\n### Ray Jobs\n\nThese jobs run in a Ray environment managed by AWS Glue.\n\n```ts\nnew glue.Job(this, 'RayJob', {\n executable: glue.JobExecutable.pythonRay({\n glueVersion: glue.GlueVersion.V4_0,\n pythonVersion: glue.PythonVersion.THREE_NINE,\n script: glue.Code.fromAsset(path.join(__dirname, 'job-script/hello_world.py')),\n }),\n workerType: glue.WorkerType.Z_2X,\n workerCount: 2,\n description: 'an example Ray job'\n});\n```\n\nSee [documentation](https://docs.aws.amazon.com/glue/latest/dg/add-job.html) for more information on adding jobs in Glue.\n\n## Connection\n\nA `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:\n\n```ts\ndeclare const securityGroup: ec2.SecurityGroup;\ndeclare const subnet: ec2.Subnet;\nnew glue.Connection(this, 'MyConnection', {\n type: glue.ConnectionType.NETWORK,\n // The security groups granting AWS Glue inbound access to the data source within the VPC\n securityGroups: [securityGroup],\n // The VPC subnet which contains the data source\n subnet,\n});\n```\n\nFor RDS `Connection` by JDBC, it is recommended to manage credentials using AWS Secrets Manager. To use Secret, specify `SECRET_ID` in `properties` like the following code. Note that in this case, the subnet must have a route to the AWS Secrets Manager VPC endpoint or to the AWS Secrets Manager endpoint through a NAT gateway.\n\n```ts\ndeclare const securityGroup: ec2.SecurityGroup;\ndeclare const subnet: ec2.Subnet;\ndeclare const db: rds.DatabaseCluster;\nnew glue.Connection(this, \"RdsConnection\", {\n type: glue.ConnectionType.JDBC,\n securityGroups: [securityGroup],\n subnet,\n properties: {\n JDBC_CONNECTION_URL: `jdbc:mysql://${db.clusterEndpoint.socketAddress}/databasename`,\n JDBC_ENFORCE_SSL: \"false\",\n SECRET_ID: db.secret!.secretName,\n },\n});\n```\n\nIf 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')`.\n\nSee [Adding a Connection to Your Data Store](https://docs.aws.amazon.com/glue/latest/dg/populate-add-connection.html) and [Connection Structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-connections.html#aws-glue-api-catalog-connections-Connection) documentation for more information on the supported data stores and their configurations.\n\n## SecurityConfiguration\n\nA `SecurityConfiguration` is a set of security properties that can be used by AWS Glue to encrypt data at rest.\n\n```ts\nnew glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n },\n jobBookmarksEncryption: {\n mode: glue.JobBookmarksEncryptionMode.CLIENT_SIDE_KMS,\n },\n s3Encryption: {\n mode: glue.S3EncryptionMode.KMS,\n },\n});\n```\n\nBy 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:\n\n```ts\ndeclare const key: kms.Key;\nnew glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n kmsKey: key,\n },\n});\n```\n\nSee [documentation](https://docs.aws.amazon.com/glue/latest/dg/encryption-security-configuration.html) for more info for Glue encrypting data written by Crawlers, Jobs, and Development Endpoints.\n\n## Database\n\nA `Database` is a logical grouping of `Tables` in the Glue Catalog.\n\n```ts\nnew glue.Database(this, 'MyDatabase');\n```\n\n## Table\n\nA 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.):\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }, {\n name: 'col2',\n type: glue.Schema.array(glue.Schema.STRING),\n comment: 'col2 is an array of strings' // comment is optional\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\nBy default, a S3 bucket will be created to store the table's data but you can manually pass the `bucket` and `s3Prefix`:\n\n```ts\ndeclare const myBucket: s3.Bucket;\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n bucket: myBucket,\n s3Prefix: 'my-table/',\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\nBy 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`:\n\n### Partition Keys\n\nTo 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:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n### Partition Indexes\n\nAnother way to improve query performance is to specify partition indexes. If no partition indexes are\npresent on the table, AWS Glue loads all partitions of the table and filters the loaded partitions using\nthe query expression. The query takes more time to run as the number of partitions increase. With an\nindex, the query will try to fetch a subset of the partitions instead of loading all partitions of the\ntable.\n\nThe keys of a partition index must be a subset of the partition keys of the table. You can have a\nmaximum of 3 partition indexes per table. To specify a partition index, you can use the `partitionIndexes`\nproperty:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n partitionIndexes: [{\n indexName: 'my-index', // optional\n keyNames: ['year'],\n }], // supply up to 3 indexes\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\nAlternatively, you can call the `addPartitionIndex()` function on a table:\n\n```ts\ndeclare const myTable: glue.Table;\nmyTable.addPartitionIndex({\n indexName: 'my-index',\n keyNames: ['year'],\n});\n```\n\n### Partition Filtering\n\nIf you have a table with a large number of partitions that grows over time, consider using AWS Glue partition indexing and filtering.\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n dataFormat: glue.DataFormat.JSON,\n enablePartitionFiltering: true,\n});\n```\n\n## [Encryption](https://docs.aws.amazon.com/athena/latest/ug/encryption.html)\n\nYou can enable encryption on a Table's data:\n\n* [S3Managed](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html) - (default) Server side encryption (`SSE-S3`) with an Amazon S3-managed key.\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.S3_MANAGED,\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n* [Kms](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) - Server-side encryption (`SSE-KMS`) with an AWS KMS Key managed by the account owner.\n\n```ts\ndeclare const myDatabase: glue.Database;\n// KMS key is created automatically\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.KMS,\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n\n// with an explicit KMS key\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.KMS,\n encryptionKey: new kms.Key(this, 'MyKey'),\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n* [KmsManaged](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) - Server-side encryption (`SSE-KMS`), like `Kms`, except with an AWS KMS Key managed by the AWS Key Management Service.\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.KMS_MANAGED,\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n* [ClientSideKms](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html#client-side-encryption-kms-managed-master-key-intro) - Client-side encryption (`CSE-KMS`) with an AWS KMS Key managed by the account owner.\n\n```ts\ndeclare const myDatabase: glue.Database;\n// KMS key is created automatically\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.CLIENT_SIDE_KMS,\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n\n// with an explicit KMS key\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.CLIENT_SIDE_KMS,\n encryptionKey: new kms.Key(this, 'MyKey'),\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n*Note: you cannot provide a `Bucket` when creating the `Table` if you wish to use server-side encryption (`KMS`, `KMS_MANAGED` or `S3_MANAGED`)*.\n\n## Types\n\nA 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:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n columns: [{\n name: 'primitive_column',\n type: glue.Schema.STRING,\n }, {\n name: 'array_column',\n type: glue.Schema.array(glue.Schema.INTEGER),\n comment: 'array<integer>',\n }, {\n name: 'map_column',\n type: glue.Schema.map(\n glue.Schema.STRING,\n glue.Schema.TIMESTAMP),\n comment: 'map<string,string>',\n }, {\n name: 'struct_column',\n type: glue.Schema.struct([{\n name: 'nested_column',\n type: glue.Schema.DATE,\n comment: 'nested comment',\n }]),\n comment: \"struct<nested_column:date COMMENT 'nested comment'>\",\n }],\n // ...\n database: myDatabase,\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n### Primitives\n\n#### Numeric\n\n| Name \t| Type \t| Comments |\n|-----------\t|----------\t|------------------------------------------------------------------------------------------------------------------\t|\n| FLOAT \t| Constant \t| A 32-bit single-precision floating point number |\n| INTEGER \t| Constant \t| 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 \t|\n| DOUBLE \t| Constant \t| A 64-bit double-precision floating point number |\n| BIG_INT \t| Constant \t| 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 |\n| SMALL_INT \t| Constant \t| 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 |\n| TINY_INT \t| Constant \t| 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 |\n\n#### Date and time\n\n| Name \t| Type \t| Comments \t|\n|-----------\t|----------\t|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------\t|\n| DATE \t| Constant \t| A date in UNIX format, such as YYYY-MM-DD. \t|\n| TIMESTAMP \t| Constant \t| 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. \t|\n\n#### String\n\n| Name \t| Type \t| Comments \t|\n|--------------------------------------------\t|----------\t|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\t|\n| STRING \t| Constant \t| A string literal enclosed in single or double quotes \t|\n| decimal(precision: number, scale?: number) \t| Function \t| `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) \t|\n| char(length: number) \t| Function \t| Fixed length character data, with a specified length between 1 and 255, such as char(10) \t|\n| varchar(length: number) \t| Function \t| Variable length character data, with a specified length between 1 and 65535, such as varchar(10) \t|\n\n#### Miscellaneous\n\n| Name \t| Type \t| Comments \t|\n|---------\t|----------\t|-------------------------------\t|\n| BOOLEAN \t| Constant \t| Values are `true` and `false` \t|\n| BINARY \t| Constant \t| Value is in binary \t|\n\n### Complex\n\n| Name \t| Type \t| Comments \t|\n|-------------------------------------\t|----------\t|-------------------------------------------------------------------\t|\n| array(itemType: Type) \t| Function \t| An array of some other type \t|\n| map(keyType: Type, valueType: Type) \t| Function \t| A map of some primitive key type to any value type \t|\n| struct(collumns: Column[]) \t| Function \t| Nested structure containing individually named and typed collumns \t|\n"
|
|
3477
|
+
"markdown": "# AWS Glue Construct Library\n<!--BEGIN STABILITY BANNER-->\n\n---\n\n\n\n> The APIs of higher level constructs in this module are experimental and under active development.\n> They are subject to non-backward compatible changes or removal in any future version. These are\n> not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be\n> announced in the release notes. This means that while you may use them, you may need to update\n> your source code when upgrading to a newer version of this package.\n\n---\n\n<!--END STABILITY BANNER-->\n\nThis module is part of the [AWS Cloud Development Kit](https://github.com/aws/aws-cdk) project.\n\n## Job\n\nA `Job` encapsulates a script that connects to data sources, processes them, and then writes output to a data target.\n\nThere are 3 types of jobs supported by AWS Glue: Spark ETL, Spark Streaming, and Python Shell jobs.\n\nThe `glue.JobExecutable` allows you to specify the type of job, the language to use and the code assets required by the job.\n\n`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.\n\n### Spark Jobs\n\nThese jobs run in an Apache Spark environment managed by AWS Glue.\n\n#### ETL Jobs\n\nAn ETL job processes data in batches using Apache Spark.\n\n```ts\ndeclare const bucket: s3.Bucket;\nnew glue.Job(this, 'ScalaSparkEtlJob', {\n executable: glue.JobExecutable.scalaEtl({\n glueVersion: glue.GlueVersion.V4_0,\n script: glue.Code.fromBucket(bucket, 'src/com/example/HelloWorld.scala'),\n className: 'com.example.HelloWorld',\n extraJars: [glue.Code.fromBucket(bucket, 'jars/HelloWorld.jar')],\n }),\n workerType: glue.WorkerType.G_8X,\n description: 'an example Scala ETL job',\n});\n```\n\n#### Streaming Jobs\n\nA 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.\n\n```ts\nnew glue.Job(this, 'PythonSparkStreamingJob', {\n executable: glue.JobExecutable.pythonStreaming({\n glueVersion: glue.GlueVersion.V4_0,\n pythonVersion: glue.PythonVersion.THREE,\n script: glue.Code.fromAsset(path.join(__dirname, 'job-script/hello_world.py')),\n }),\n description: 'an example Python Streaming job',\n});\n```\n\n### Python Shell Jobs\n\nA Python shell job runs Python scripts as a shell and supports a Python version that depends on the AWS Glue version you are using.\nThis can be used to schedule and run tasks that don't require an Apache Spark environment. Currently, three flavors are supported:\n\n* PythonVersion.TWO (2.7; EOL)\n* PythonVersion.THREE (3.6)\n* PythonVersion.THREE_NINE (3.9)\n\n```ts\ndeclare const bucket: s3.Bucket;\nnew glue.Job(this, 'PythonShellJob', {\n executable: glue.JobExecutable.pythonShell({\n glueVersion: glue.GlueVersion.V1_0,\n pythonVersion: glue.PythonVersion.THREE,\n script: glue.Code.fromBucket(bucket, 'script.py'),\n }),\n description: 'an example Python Shell job',\n});\n```\n\n### Ray Jobs\n\nThese jobs run in a Ray environment managed by AWS Glue.\n\n```ts\nnew glue.Job(this, 'RayJob', {\n executable: glue.JobExecutable.pythonRay({\n glueVersion: glue.GlueVersion.V4_0,\n pythonVersion: glue.PythonVersion.THREE_NINE,\n script: glue.Code.fromAsset(path.join(__dirname, 'job-script/hello_world.py')),\n }),\n workerType: glue.WorkerType.Z_2X,\n workerCount: 2,\n description: 'an example Ray job'\n});\n```\n\nSee [documentation](https://docs.aws.amazon.com/glue/latest/dg/add-job.html) for more information on adding jobs in Glue.\n\n## Connection\n\nA `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:\n\n```ts\ndeclare const securityGroup: ec2.SecurityGroup;\ndeclare const subnet: ec2.Subnet;\nnew glue.Connection(this, 'MyConnection', {\n type: glue.ConnectionType.NETWORK,\n // The security groups granting AWS Glue inbound access to the data source within the VPC\n securityGroups: [securityGroup],\n // The VPC subnet which contains the data source\n subnet,\n});\n```\n\nFor RDS `Connection` by JDBC, it is recommended to manage credentials using AWS Secrets Manager. To use Secret, specify `SECRET_ID` in `properties` like the following code. Note that in this case, the subnet must have a route to the AWS Secrets Manager VPC endpoint or to the AWS Secrets Manager endpoint through a NAT gateway.\n\n```ts\ndeclare const securityGroup: ec2.SecurityGroup;\ndeclare const subnet: ec2.Subnet;\ndeclare const db: rds.DatabaseCluster;\nnew glue.Connection(this, \"RdsConnection\", {\n type: glue.ConnectionType.JDBC,\n securityGroups: [securityGroup],\n subnet,\n properties: {\n JDBC_CONNECTION_URL: `jdbc:mysql://${db.clusterEndpoint.socketAddress}/databasename`,\n JDBC_ENFORCE_SSL: \"false\",\n SECRET_ID: db.secret!.secretName,\n },\n});\n```\n\nIf 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')`.\n\nSee [Adding a Connection to Your Data Store](https://docs.aws.amazon.com/glue/latest/dg/populate-add-connection.html) and [Connection Structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-connections.html#aws-glue-api-catalog-connections-Connection) documentation for more information on the supported data stores and their configurations.\n\n## SecurityConfiguration\n\nA `SecurityConfiguration` is a set of security properties that can be used by AWS Glue to encrypt data at rest.\n\n```ts\nnew glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n },\n jobBookmarksEncryption: {\n mode: glue.JobBookmarksEncryptionMode.CLIENT_SIDE_KMS,\n },\n s3Encryption: {\n mode: glue.S3EncryptionMode.KMS,\n },\n});\n```\n\nBy 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:\n\n```ts\ndeclare const key: kms.Key;\nnew glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n kmsKey: key,\n },\n});\n```\n\nSee [documentation](https://docs.aws.amazon.com/glue/latest/dg/encryption-security-configuration.html) for more info for Glue encrypting data written by Crawlers, Jobs, and Development Endpoints.\n\n## Database\n\nA `Database` is a logical grouping of `Tables` in the Glue Catalog.\n\n```ts\nnew glue.Database(this, 'MyDatabase');\n```\n\n## Table\n\nA 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.):\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }, {\n name: 'col2',\n type: glue.Schema.array(glue.Schema.STRING),\n comment: 'col2 is an array of strings' // comment is optional\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\nBy default, a S3 bucket will be created to store the table's data but you can manually pass the `bucket` and `s3Prefix`:\n\n```ts\ndeclare const myBucket: s3.Bucket;\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n bucket: myBucket,\n s3Prefix: 'my-table/',\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\nBy 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`:\n\n### Partition Keys\n\nTo 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:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n### Partition Indexes\n\nAnother way to improve query performance is to specify partition indexes. If no partition indexes are\npresent on the table, AWS Glue loads all partitions of the table and filters the loaded partitions using\nthe query expression. The query takes more time to run as the number of partitions increase. With an\nindex, the query will try to fetch a subset of the partitions instead of loading all partitions of the\ntable.\n\nThe keys of a partition index must be a subset of the partition keys of the table. You can have a\nmaximum of 3 partition indexes per table. To specify a partition index, you can use the `partitionIndexes`\nproperty:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n partitionIndexes: [{\n indexName: 'my-index', // optional\n keyNames: ['year'],\n }], // supply up to 3 indexes\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\nAlternatively, you can call the `addPartitionIndex()` function on a table:\n\n```ts\ndeclare const myTable: glue.Table;\nmyTable.addPartitionIndex({\n indexName: 'my-index',\n keyNames: ['year'],\n});\n```\n\n### Partition Filtering\n\nIf you have a table with a large number of partitions that grows over time, consider using AWS Glue partition indexing and filtering.\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n dataFormat: glue.DataFormat.JSON,\n enablePartitionFiltering: true,\n});\n```\n\n## [Encryption](https://docs.aws.amazon.com/athena/latest/ug/encryption.html)\n\nYou can enable encryption on a Table's data:\n\n* [S3Managed](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html) - (default) Server side encryption (`SSE-S3`) with an Amazon S3-managed key.\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.S3_MANAGED,\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n* [Kms](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) - Server-side encryption (`SSE-KMS`) with an AWS KMS Key managed by the account owner.\n\n```ts\ndeclare const myDatabase: glue.Database;\n// KMS key is created automatically\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.KMS,\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n\n// with an explicit KMS key\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.KMS,\n encryptionKey: new kms.Key(this, 'MyKey'),\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n* [KmsManaged](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) - Server-side encryption (`SSE-KMS`), like `Kms`, except with an AWS KMS Key managed by the AWS Key Management Service.\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.KMS_MANAGED,\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n* [ClientSideKms](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html#client-side-encryption-kms-managed-master-key-intro) - Client-side encryption (`CSE-KMS`) with an AWS KMS Key managed by the account owner.\n\n```ts\ndeclare const myDatabase: glue.Database;\n// KMS key is created automatically\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.CLIENT_SIDE_KMS,\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n\n// with an explicit KMS key\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.CLIENT_SIDE_KMS,\n encryptionKey: new kms.Key(this, 'MyKey'),\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n*Note: you cannot provide a `Bucket` when creating the `Table` if you wish to use server-side encryption (`KMS`, `KMS_MANAGED` or `S3_MANAGED`)*.\n\n## Types\n\nA 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:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n columns: [{\n name: 'primitive_column',\n type: glue.Schema.STRING,\n }, {\n name: 'array_column',\n type: glue.Schema.array(glue.Schema.INTEGER),\n comment: 'array<integer>',\n }, {\n name: 'map_column',\n type: glue.Schema.map(\n glue.Schema.STRING,\n glue.Schema.TIMESTAMP),\n comment: 'map<string,string>',\n }, {\n name: 'struct_column',\n type: glue.Schema.struct([{\n name: 'nested_column',\n type: glue.Schema.DATE,\n comment: 'nested comment',\n }]),\n comment: \"struct<nested_column:date COMMENT 'nested comment'>\",\n }],\n // ...\n database: myDatabase,\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n### Primitives\n\n#### Numeric\n\n| Name \t| Type \t| Comments |\n|-----------\t|----------\t|------------------------------------------------------------------------------------------------------------------\t|\n| FLOAT \t| Constant \t| A 32-bit single-precision floating point number |\n| INTEGER \t| Constant \t| 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 \t|\n| DOUBLE \t| Constant \t| A 64-bit double-precision floating point number |\n| BIG_INT \t| Constant \t| 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 |\n| SMALL_INT \t| Constant \t| 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 |\n| TINY_INT \t| Constant \t| 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 |\n\n#### Date and time\n\n| Name \t| Type \t| Comments \t|\n|-----------\t|----------\t|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------\t|\n| DATE \t| Constant \t| A date in UNIX format, such as YYYY-MM-DD. \t|\n| TIMESTAMP \t| Constant \t| 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. \t|\n\n#### String\n\n| Name \t| Type \t| Comments \t|\n|--------------------------------------------\t|----------\t|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\t|\n| STRING \t| Constant \t| A string literal enclosed in single or double quotes \t|\n| decimal(precision: number, scale?: number) \t| Function \t| `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) \t|\n| char(length: number) \t| Function \t| Fixed length character data, with a specified length between 1 and 255, such as char(10) \t|\n| varchar(length: number) \t| Function \t| Variable length character data, with a specified length between 1 and 65535, such as varchar(10) \t|\n\n#### Miscellaneous\n\n| Name \t| Type \t| Comments \t|\n|---------\t|----------\t|-------------------------------\t|\n| BOOLEAN \t| Constant \t| Values are `true` and `false` \t|\n| BINARY \t| Constant \t| Value is in binary \t|\n\n### Complex\n\n| Name \t| Type \t| Comments \t|\n|-------------------------------------\t|----------\t|-------------------------------------------------------------------\t|\n| array(itemType: Type) \t| Function \t| An array of some other type \t|\n| map(keyType: Type, valueType: Type) \t| Function \t| A map of some primitive key type to any value type \t|\n| struct(collumns: Column[]) \t| Function \t| Nested structure containing individually named and typed collumns \t|\n"
|
|
3478
3478
|
},
|
|
3479
3479
|
"repository": {
|
|
3480
3480
|
"directory": "packages/@aws-cdk/aws-glue-alpha",
|
|
@@ -3518,7 +3518,7 @@
|
|
|
3518
3518
|
"docs": {
|
|
3519
3519
|
"stability": "experimental",
|
|
3520
3520
|
"summary": "Job Code from a local file.",
|
|
3521
|
-
"example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as glue_alpha from '@aws-cdk/aws-glue-alpha';\nimport * as cdk from 'aws-cdk-lib';\nimport { aws_iam as iam } from 'aws-cdk-lib';\n\ndeclare const dockerImage: cdk.DockerImage;\ndeclare const grantable: iam.IGrantable;\ndeclare const localBundling: cdk.ILocalBundling;\nconst assetCode = new glue_alpha.AssetCode('path', /* all optional props */ {\n assetHash: 'assetHash',\n assetHashType: cdk.AssetHashType.SOURCE,\n bundling: {\n image: dockerImage,\n\n // the properties below are optional\n bundlingFileAccess: cdk.BundlingFileAccess.VOLUME_COPY,\n command: ['command'],\n entrypoint: ['entrypoint'],\n environment: {\n environmentKey: 'environment',\n },\n local: localBundling,\n network: 'network',\n outputType: cdk.BundlingOutput.ARCHIVED,\n securityOpt: 'securityOpt',\n user: 'user',\n volumes: [{\n containerPath: 'containerPath',\n hostPath: 'hostPath',\n\n // the properties below are optional\n consistency: cdk.DockerVolumeConsistency.CONSISTENT,\n }],\n volumesFrom: ['volumesFrom'],\n workingDirectory: 'workingDirectory',\n },\n exclude: ['exclude'],\n followSymlinks: cdk.SymlinkFollowMode.NEVER,\n ignoreMode: cdk.IgnoreMode.GLOB,\n readers: [grantable],\n});",
|
|
3521
|
+
"example": "// The code below shows an example of how to instantiate this type.\n// The values are placeholders you should change.\nimport * as glue_alpha from '@aws-cdk/aws-glue-alpha';\nimport * as cdk from 'aws-cdk-lib';\nimport { aws_iam as iam } from 'aws-cdk-lib';\n\ndeclare const dockerImage: cdk.DockerImage;\ndeclare const grantable: iam.IGrantable;\ndeclare const localBundling: cdk.ILocalBundling;\nconst assetCode = new glue_alpha.AssetCode('path', /* all optional props */ {\n assetHash: 'assetHash',\n assetHashType: cdk.AssetHashType.SOURCE,\n bundling: {\n image: dockerImage,\n\n // the properties below are optional\n bundlingFileAccess: cdk.BundlingFileAccess.VOLUME_COPY,\n command: ['command'],\n entrypoint: ['entrypoint'],\n environment: {\n environmentKey: 'environment',\n },\n local: localBundling,\n network: 'network',\n outputType: cdk.BundlingOutput.ARCHIVED,\n securityOpt: 'securityOpt',\n user: 'user',\n volumes: [{\n containerPath: 'containerPath',\n hostPath: 'hostPath',\n\n // the properties below are optional\n consistency: cdk.DockerVolumeConsistency.CONSISTENT,\n }],\n volumesFrom: ['volumesFrom'],\n workingDirectory: 'workingDirectory',\n },\n deployTime: false,\n exclude: ['exclude'],\n followSymlinks: cdk.SymlinkFollowMode.NEVER,\n ignoreMode: cdk.IgnoreMode.GLOB,\n readers: [grantable],\n});",
|
|
3522
3522
|
"custom": {
|
|
3523
3523
|
"exampleMetadata": "fixture=_generated"
|
|
3524
3524
|
}
|
|
@@ -4629,7 +4629,7 @@
|
|
|
4629
4629
|
"kind": "interface",
|
|
4630
4630
|
"locationInModule": {
|
|
4631
4631
|
"filename": "lib/job.ts",
|
|
4632
|
-
"line":
|
|
4632
|
+
"line": 404
|
|
4633
4633
|
},
|
|
4634
4634
|
"name": "ContinuousLoggingProps",
|
|
4635
4635
|
"properties": [
|
|
@@ -4642,7 +4642,7 @@
|
|
|
4642
4642
|
"immutable": true,
|
|
4643
4643
|
"locationInModule": {
|
|
4644
4644
|
"filename": "lib/job.ts",
|
|
4645
|
-
"line":
|
|
4645
|
+
"line": 408
|
|
4646
4646
|
},
|
|
4647
4647
|
"name": "enabled",
|
|
4648
4648
|
"type": {
|
|
@@ -4660,7 +4660,7 @@
|
|
|
4660
4660
|
"immutable": true,
|
|
4661
4661
|
"locationInModule": {
|
|
4662
4662
|
"filename": "lib/job.ts",
|
|
4663
|
-
"line":
|
|
4663
|
+
"line": 438
|
|
4664
4664
|
},
|
|
4665
4665
|
"name": "conversionPattern",
|
|
4666
4666
|
"optional": true,
|
|
@@ -4678,7 +4678,7 @@
|
|
|
4678
4678
|
"immutable": true,
|
|
4679
4679
|
"locationInModule": {
|
|
4680
4680
|
"filename": "lib/job.ts",
|
|
4681
|
-
"line":
|
|
4681
|
+
"line": 415
|
|
4682
4682
|
},
|
|
4683
4683
|
"name": "logGroup",
|
|
4684
4684
|
"optional": true,
|
|
@@ -4696,7 +4696,7 @@
|
|
|
4696
4696
|
"immutable": true,
|
|
4697
4697
|
"locationInModule": {
|
|
4698
4698
|
"filename": "lib/job.ts",
|
|
4699
|
-
"line":
|
|
4699
|
+
"line": 422
|
|
4700
4700
|
},
|
|
4701
4701
|
"name": "logStreamPrefix",
|
|
4702
4702
|
"optional": true,
|
|
@@ -4714,7 +4714,7 @@
|
|
|
4714
4714
|
"immutable": true,
|
|
4715
4715
|
"locationInModule": {
|
|
4716
4716
|
"filename": "lib/job.ts",
|
|
4717
|
-
"line":
|
|
4717
|
+
"line": 429
|
|
4718
4718
|
},
|
|
4719
4719
|
"name": "quiet",
|
|
4720
4720
|
"optional": true,
|
|
@@ -5620,7 +5620,7 @@
|
|
|
5620
5620
|
"kind": "interface",
|
|
5621
5621
|
"locationInModule": {
|
|
5622
5622
|
"filename": "lib/job.ts",
|
|
5623
|
-
"line":
|
|
5623
|
+
"line": 135
|
|
5624
5624
|
},
|
|
5625
5625
|
"methods": [
|
|
5626
5626
|
{
|
|
@@ -5632,7 +5632,7 @@
|
|
|
5632
5632
|
},
|
|
5633
5633
|
"locationInModule": {
|
|
5634
5634
|
"filename": "lib/job.ts",
|
|
5635
|
-
"line":
|
|
5635
|
+
"line": 192
|
|
5636
5636
|
},
|
|
5637
5637
|
"name": "metric",
|
|
5638
5638
|
"parameters": [
|
|
@@ -5679,7 +5679,7 @@
|
|
|
5679
5679
|
},
|
|
5680
5680
|
"locationInModule": {
|
|
5681
5681
|
"filename": "lib/job.ts",
|
|
5682
|
-
"line":
|
|
5682
|
+
"line": 202
|
|
5683
5683
|
},
|
|
5684
5684
|
"name": "metricFailure",
|
|
5685
5685
|
"parameters": [
|
|
@@ -5705,7 +5705,7 @@
|
|
|
5705
5705
|
},
|
|
5706
5706
|
"locationInModule": {
|
|
5707
5707
|
"filename": "lib/job.ts",
|
|
5708
|
-
"line":
|
|
5708
|
+
"line": 197
|
|
5709
5709
|
},
|
|
5710
5710
|
"name": "metricSuccess",
|
|
5711
5711
|
"parameters": [
|
|
@@ -5731,7 +5731,7 @@
|
|
|
5731
5731
|
},
|
|
5732
5732
|
"locationInModule": {
|
|
5733
5733
|
"filename": "lib/job.ts",
|
|
5734
|
-
"line":
|
|
5734
|
+
"line": 207
|
|
5735
5735
|
},
|
|
5736
5736
|
"name": "metricTimeout",
|
|
5737
5737
|
"parameters": [
|
|
@@ -5758,7 +5758,7 @@
|
|
|
5758
5758
|
},
|
|
5759
5759
|
"locationInModule": {
|
|
5760
5760
|
"filename": "lib/job.ts",
|
|
5761
|
-
"line":
|
|
5761
|
+
"line": 153
|
|
5762
5762
|
},
|
|
5763
5763
|
"name": "onEvent",
|
|
5764
5764
|
"parameters": [
|
|
@@ -5791,7 +5791,7 @@
|
|
|
5791
5791
|
},
|
|
5792
5792
|
"locationInModule": {
|
|
5793
5793
|
"filename": "lib/job.ts",
|
|
5794
|
-
"line":
|
|
5794
|
+
"line": 174
|
|
5795
5795
|
},
|
|
5796
5796
|
"name": "onFailure",
|
|
5797
5797
|
"parameters": [
|
|
@@ -5824,7 +5824,7 @@
|
|
|
5824
5824
|
},
|
|
5825
5825
|
"locationInModule": {
|
|
5826
5826
|
"filename": "lib/job.ts",
|
|
5827
|
-
"line":
|
|
5827
|
+
"line": 160
|
|
5828
5828
|
},
|
|
5829
5829
|
"name": "onStateChange",
|
|
5830
5830
|
"parameters": [
|
|
@@ -5863,7 +5863,7 @@
|
|
|
5863
5863
|
},
|
|
5864
5864
|
"locationInModule": {
|
|
5865
5865
|
"filename": "lib/job.ts",
|
|
5866
|
-
"line":
|
|
5866
|
+
"line": 167
|
|
5867
5867
|
},
|
|
5868
5868
|
"name": "onSuccess",
|
|
5869
5869
|
"parameters": [
|
|
@@ -5896,7 +5896,7 @@
|
|
|
5896
5896
|
},
|
|
5897
5897
|
"locationInModule": {
|
|
5898
5898
|
"filename": "lib/job.ts",
|
|
5899
|
-
"line":
|
|
5899
|
+
"line": 181
|
|
5900
5900
|
},
|
|
5901
5901
|
"name": "onTimeout",
|
|
5902
5902
|
"parameters": [
|
|
@@ -5935,7 +5935,7 @@
|
|
|
5935
5935
|
"immutable": true,
|
|
5936
5936
|
"locationInModule": {
|
|
5937
5937
|
"filename": "lib/job.ts",
|
|
5938
|
-
"line":
|
|
5938
|
+
"line": 146
|
|
5939
5939
|
},
|
|
5940
5940
|
"name": "jobArn",
|
|
5941
5941
|
"type": {
|
|
@@ -5954,7 +5954,7 @@
|
|
|
5954
5954
|
"immutable": true,
|
|
5955
5955
|
"locationInModule": {
|
|
5956
5956
|
"filename": "lib/job.ts",
|
|
5957
|
-
"line":
|
|
5957
|
+
"line": 140
|
|
5958
5958
|
},
|
|
5959
5959
|
"name": "jobName",
|
|
5960
5960
|
"type": {
|
|
@@ -6219,7 +6219,7 @@
|
|
|
6219
6219
|
},
|
|
6220
6220
|
"locationInModule": {
|
|
6221
6221
|
"filename": "lib/job.ts",
|
|
6222
|
-
"line":
|
|
6222
|
+
"line": 654
|
|
6223
6223
|
},
|
|
6224
6224
|
"parameters": [
|
|
6225
6225
|
{
|
|
@@ -6248,7 +6248,7 @@
|
|
|
6248
6248
|
"kind": "class",
|
|
6249
6249
|
"locationInModule": {
|
|
6250
6250
|
"filename": "lib/job.ts",
|
|
6251
|
-
"line":
|
|
6251
|
+
"line": 608
|
|
6252
6252
|
},
|
|
6253
6253
|
"methods": [
|
|
6254
6254
|
{
|
|
@@ -6258,7 +6258,7 @@
|
|
|
6258
6258
|
},
|
|
6259
6259
|
"locationInModule": {
|
|
6260
6260
|
"filename": "lib/job.ts",
|
|
6261
|
-
"line":
|
|
6261
|
+
"line": 616
|
|
6262
6262
|
},
|
|
6263
6263
|
"name": "fromJobAttributes",
|
|
6264
6264
|
"parameters": [
|
|
@@ -6305,7 +6305,7 @@
|
|
|
6305
6305
|
},
|
|
6306
6306
|
"locationInModule": {
|
|
6307
6307
|
"filename": "lib/job.ts",
|
|
6308
|
-
"line":
|
|
6308
|
+
"line": 299
|
|
6309
6309
|
},
|
|
6310
6310
|
"name": "metric",
|
|
6311
6311
|
"overrides": "@aws-cdk/aws-glue-alpha.IJob",
|
|
@@ -6353,7 +6353,7 @@
|
|
|
6353
6353
|
},
|
|
6354
6354
|
"locationInModule": {
|
|
6355
6355
|
"filename": "lib/job.ts",
|
|
6356
|
-
"line":
|
|
6356
|
+
"line": 326
|
|
6357
6357
|
},
|
|
6358
6358
|
"name": "metricFailure",
|
|
6359
6359
|
"overrides": "@aws-cdk/aws-glue-alpha.IJob",
|
|
@@ -6380,7 +6380,7 @@
|
|
|
6380
6380
|
},
|
|
6381
6381
|
"locationInModule": {
|
|
6382
6382
|
"filename": "lib/job.ts",
|
|
6383
|
-
"line":
|
|
6383
|
+
"line": 317
|
|
6384
6384
|
},
|
|
6385
6385
|
"name": "metricSuccess",
|
|
6386
6386
|
"overrides": "@aws-cdk/aws-glue-alpha.IJob",
|
|
@@ -6407,7 +6407,7 @@
|
|
|
6407
6407
|
},
|
|
6408
6408
|
"locationInModule": {
|
|
6409
6409
|
"filename": "lib/job.ts",
|
|
6410
|
-
"line":
|
|
6410
|
+
"line": 335
|
|
6411
6411
|
},
|
|
6412
6412
|
"name": "metricTimeout",
|
|
6413
6413
|
"overrides": "@aws-cdk/aws-glue-alpha.IJob",
|
|
@@ -6434,7 +6434,7 @@
|
|
|
6434
6434
|
},
|
|
6435
6435
|
"locationInModule": {
|
|
6436
6436
|
"filename": "lib/job.ts",
|
|
6437
|
-
"line":
|
|
6437
|
+
"line": 227
|
|
6438
6438
|
},
|
|
6439
6439
|
"name": "onEvent",
|
|
6440
6440
|
"overrides": "@aws-cdk/aws-glue-alpha.IJob",
|
|
@@ -6473,7 +6473,7 @@
|
|
|
6473
6473
|
},
|
|
6474
6474
|
"locationInModule": {
|
|
6475
6475
|
"filename": "lib/job.ts",
|
|
6476
|
-
"line":
|
|
6476
|
+
"line": 276
|
|
6477
6477
|
},
|
|
6478
6478
|
"name": "onFailure",
|
|
6479
6479
|
"overrides": "@aws-cdk/aws-glue-alpha.IJob",
|
|
@@ -6512,7 +6512,7 @@
|
|
|
6512
6512
|
},
|
|
6513
6513
|
"locationInModule": {
|
|
6514
6514
|
"filename": "lib/job.ts",
|
|
6515
|
-
"line":
|
|
6515
|
+
"line": 247
|
|
6516
6516
|
},
|
|
6517
6517
|
"name": "onStateChange",
|
|
6518
6518
|
"overrides": "@aws-cdk/aws-glue-alpha.IJob",
|
|
@@ -6559,7 +6559,7 @@
|
|
|
6559
6559
|
},
|
|
6560
6560
|
"locationInModule": {
|
|
6561
6561
|
"filename": "lib/job.ts",
|
|
6562
|
-
"line":
|
|
6562
|
+
"line": 266
|
|
6563
6563
|
},
|
|
6564
6564
|
"name": "onSuccess",
|
|
6565
6565
|
"overrides": "@aws-cdk/aws-glue-alpha.IJob",
|
|
@@ -6598,7 +6598,7 @@
|
|
|
6598
6598
|
},
|
|
6599
6599
|
"locationInModule": {
|
|
6600
6600
|
"filename": "lib/job.ts",
|
|
6601
|
-
"line":
|
|
6601
|
+
"line": 286
|
|
6602
6602
|
},
|
|
6603
6603
|
"name": "onTimeout",
|
|
6604
6604
|
"overrides": "@aws-cdk/aws-glue-alpha.IJob",
|
|
@@ -6641,7 +6641,7 @@
|
|
|
6641
6641
|
"immutable": true,
|
|
6642
6642
|
"locationInModule": {
|
|
6643
6643
|
"filename": "lib/job.ts",
|
|
6644
|
-
"line":
|
|
6644
|
+
"line": 644
|
|
6645
6645
|
},
|
|
6646
6646
|
"name": "grantPrincipal",
|
|
6647
6647
|
"overrides": "aws-cdk-lib.aws_iam.IGrantable",
|
|
@@ -6657,7 +6657,7 @@
|
|
|
6657
6657
|
"immutable": true,
|
|
6658
6658
|
"locationInModule": {
|
|
6659
6659
|
"filename": "lib/job.ts",
|
|
6660
|
-
"line":
|
|
6660
|
+
"line": 629
|
|
6661
6661
|
},
|
|
6662
6662
|
"name": "jobArn",
|
|
6663
6663
|
"overrides": "@aws-cdk/aws-glue-alpha.IJob",
|
|
@@ -6673,7 +6673,7 @@
|
|
|
6673
6673
|
"immutable": true,
|
|
6674
6674
|
"locationInModule": {
|
|
6675
6675
|
"filename": "lib/job.ts",
|
|
6676
|
-
"line":
|
|
6676
|
+
"line": 634
|
|
6677
6677
|
},
|
|
6678
6678
|
"name": "jobName",
|
|
6679
6679
|
"overrides": "@aws-cdk/aws-glue-alpha.IJob",
|
|
@@ -6689,7 +6689,7 @@
|
|
|
6689
6689
|
"immutable": true,
|
|
6690
6690
|
"locationInModule": {
|
|
6691
6691
|
"filename": "lib/job.ts",
|
|
6692
|
-
"line":
|
|
6692
|
+
"line": 639
|
|
6693
6693
|
},
|
|
6694
6694
|
"name": "role",
|
|
6695
6695
|
"type": {
|
|
@@ -6705,7 +6705,7 @@
|
|
|
6705
6705
|
"immutable": true,
|
|
6706
6706
|
"locationInModule": {
|
|
6707
6707
|
"filename": "lib/job.ts",
|
|
6708
|
-
"line":
|
|
6708
|
+
"line": 652
|
|
6709
6709
|
},
|
|
6710
6710
|
"name": "sparkUILoggingLocation",
|
|
6711
6711
|
"optional": true,
|
|
@@ -6731,7 +6731,7 @@
|
|
|
6731
6731
|
"kind": "interface",
|
|
6732
6732
|
"locationInModule": {
|
|
6733
6733
|
"filename": "lib/job.ts",
|
|
6734
|
-
"line":
|
|
6734
|
+
"line": 444
|
|
6735
6735
|
},
|
|
6736
6736
|
"name": "JobAttributes",
|
|
6737
6737
|
"properties": [
|
|
@@ -6744,7 +6744,7 @@
|
|
|
6744
6744
|
"immutable": true,
|
|
6745
6745
|
"locationInModule": {
|
|
6746
6746
|
"filename": "lib/job.ts",
|
|
6747
|
-
"line":
|
|
6747
|
+
"line": 448
|
|
6748
6748
|
},
|
|
6749
6749
|
"name": "jobName",
|
|
6750
6750
|
"type": {
|
|
@@ -6761,7 +6761,7 @@
|
|
|
6761
6761
|
"immutable": true,
|
|
6762
6762
|
"locationInModule": {
|
|
6763
6763
|
"filename": "lib/job.ts",
|
|
6764
|
-
"line":
|
|
6764
|
+
"line": 455
|
|
6765
6765
|
},
|
|
6766
6766
|
"name": "role",
|
|
6767
6767
|
"optional": true,
|
|
@@ -7354,7 +7354,7 @@
|
|
|
7354
7354
|
"kind": "interface",
|
|
7355
7355
|
"locationInModule": {
|
|
7356
7356
|
"filename": "lib/job.ts",
|
|
7357
|
-
"line":
|
|
7357
|
+
"line": 461
|
|
7358
7358
|
},
|
|
7359
7359
|
"name": "JobProps",
|
|
7360
7360
|
"properties": [
|
|
@@ -7367,7 +7367,7 @@
|
|
|
7367
7367
|
"immutable": true,
|
|
7368
7368
|
"locationInModule": {
|
|
7369
7369
|
"filename": "lib/job.ts",
|
|
7370
|
-
"line":
|
|
7370
|
+
"line": 465
|
|
7371
7371
|
},
|
|
7372
7372
|
"name": "executable",
|
|
7373
7373
|
"type": {
|
|
@@ -7385,7 +7385,7 @@
|
|
|
7385
7385
|
"immutable": true,
|
|
7386
7386
|
"locationInModule": {
|
|
7387
7387
|
"filename": "lib/job.ts",
|
|
7388
|
-
"line":
|
|
7388
|
+
"line": 540
|
|
7389
7389
|
},
|
|
7390
7390
|
"name": "connections",
|
|
7391
7391
|
"optional": true,
|
|
@@ -7409,7 +7409,7 @@
|
|
|
7409
7409
|
"immutable": true,
|
|
7410
7410
|
"locationInModule": {
|
|
7411
7411
|
"filename": "lib/job.ts",
|
|
7412
|
-
"line":
|
|
7412
|
+
"line": 602
|
|
7413
7413
|
},
|
|
7414
7414
|
"name": "continuousLogging",
|
|
7415
7415
|
"optional": true,
|
|
@@ -7428,7 +7428,7 @@
|
|
|
7428
7428
|
"immutable": true,
|
|
7429
7429
|
"locationInModule": {
|
|
7430
7430
|
"filename": "lib/job.ts",
|
|
7431
|
-
"line":
|
|
7431
|
+
"line": 555
|
|
7432
7432
|
},
|
|
7433
7433
|
"name": "defaultArguments",
|
|
7434
7434
|
"optional": true,
|
|
@@ -7451,7 +7451,7 @@
|
|
|
7451
7451
|
"immutable": true,
|
|
7452
7452
|
"locationInModule": {
|
|
7453
7453
|
"filename": "lib/job.ts",
|
|
7454
|
-
"line":
|
|
7454
|
+
"line": 479
|
|
7455
7455
|
},
|
|
7456
7456
|
"name": "description",
|
|
7457
7457
|
"optional": true,
|
|
@@ -7470,7 +7470,7 @@
|
|
|
7470
7470
|
"immutable": true,
|
|
7471
7471
|
"locationInModule": {
|
|
7472
7472
|
"filename": "lib/job.ts",
|
|
7473
|
-
"line":
|
|
7473
|
+
"line": 582
|
|
7474
7474
|
},
|
|
7475
7475
|
"name": "enableProfilingMetrics",
|
|
7476
7476
|
"optional": true,
|
|
@@ -7488,7 +7488,7 @@
|
|
|
7488
7488
|
"immutable": true,
|
|
7489
7489
|
"locationInModule": {
|
|
7490
7490
|
"filename": "lib/job.ts",
|
|
7491
|
-
"line":
|
|
7491
|
+
"line": 472
|
|
7492
7492
|
},
|
|
7493
7493
|
"name": "jobName",
|
|
7494
7494
|
"optional": true,
|
|
@@ -7507,7 +7507,7 @@
|
|
|
7507
7507
|
"immutable": true,
|
|
7508
7508
|
"locationInModule": {
|
|
7509
7509
|
"filename": "lib/job.ts",
|
|
7510
|
-
"line":
|
|
7510
|
+
"line": 487
|
|
7511
7511
|
},
|
|
7512
7512
|
"name": "maxCapacity",
|
|
7513
7513
|
"optional": true,
|
|
@@ -7526,7 +7526,7 @@
|
|
|
7526
7526
|
"immutable": true,
|
|
7527
7527
|
"locationInModule": {
|
|
7528
7528
|
"filename": "lib/job.ts",
|
|
7529
|
-
"line":
|
|
7529
|
+
"line": 503
|
|
7530
7530
|
},
|
|
7531
7531
|
"name": "maxConcurrentRuns",
|
|
7532
7532
|
"optional": true,
|
|
@@ -7544,7 +7544,7 @@
|
|
|
7544
7544
|
"immutable": true,
|
|
7545
7545
|
"locationInModule": {
|
|
7546
7546
|
"filename": "lib/job.ts",
|
|
7547
|
-
"line":
|
|
7547
|
+
"line": 494
|
|
7548
7548
|
},
|
|
7549
7549
|
"name": "maxRetries",
|
|
7550
7550
|
"optional": true,
|
|
@@ -7562,7 +7562,7 @@
|
|
|
7562
7562
|
"immutable": true,
|
|
7563
7563
|
"locationInModule": {
|
|
7564
7564
|
"filename": "lib/job.ts",
|
|
7565
|
-
"line":
|
|
7565
|
+
"line": 510
|
|
7566
7566
|
},
|
|
7567
7567
|
"name": "notifyDelayAfter",
|
|
7568
7568
|
"optional": true,
|
|
@@ -7582,7 +7582,7 @@
|
|
|
7582
7582
|
"immutable": true,
|
|
7583
7583
|
"locationInModule": {
|
|
7584
7584
|
"filename": "lib/job.ts",
|
|
7585
|
-
"line":
|
|
7585
|
+
"line": 573
|
|
7586
7586
|
},
|
|
7587
7587
|
"name": "role",
|
|
7588
7588
|
"optional": true,
|
|
@@ -7600,7 +7600,7 @@
|
|
|
7600
7600
|
"immutable": true,
|
|
7601
7601
|
"locationInModule": {
|
|
7602
7602
|
"filename": "lib/job.ts",
|
|
7603
|
-
"line":
|
|
7603
|
+
"line": 547
|
|
7604
7604
|
},
|
|
7605
7605
|
"name": "securityConfiguration",
|
|
7606
7606
|
"optional": true,
|
|
@@ -7619,7 +7619,7 @@
|
|
|
7619
7619
|
"immutable": true,
|
|
7620
7620
|
"locationInModule": {
|
|
7621
7621
|
"filename": "lib/job.ts",
|
|
7622
|
-
"line":
|
|
7622
|
+
"line": 592
|
|
7623
7623
|
},
|
|
7624
7624
|
"name": "sparkUI",
|
|
7625
7625
|
"optional": true,
|
|
@@ -7637,7 +7637,7 @@
|
|
|
7637
7637
|
"immutable": true,
|
|
7638
7638
|
"locationInModule": {
|
|
7639
7639
|
"filename": "lib/job.ts",
|
|
7640
|
-
"line":
|
|
7640
|
+
"line": 562
|
|
7641
7641
|
},
|
|
7642
7642
|
"name": "tags",
|
|
7643
7643
|
"optional": true,
|
|
@@ -7660,7 +7660,7 @@
|
|
|
7660
7660
|
"immutable": true,
|
|
7661
7661
|
"locationInModule": {
|
|
7662
7662
|
"filename": "lib/job.ts",
|
|
7663
|
-
"line":
|
|
7663
|
+
"line": 517
|
|
7664
7664
|
},
|
|
7665
7665
|
"name": "timeout",
|
|
7666
7666
|
"optional": true,
|
|
@@ -7678,7 +7678,7 @@
|
|
|
7678
7678
|
"immutable": true,
|
|
7679
7679
|
"locationInModule": {
|
|
7680
7680
|
"filename": "lib/job.ts",
|
|
7681
|
-
"line":
|
|
7681
|
+
"line": 531
|
|
7682
7682
|
},
|
|
7683
7683
|
"name": "workerCount",
|
|
7684
7684
|
"optional": true,
|
|
@@ -7696,7 +7696,7 @@
|
|
|
7696
7696
|
"immutable": true,
|
|
7697
7697
|
"locationInModule": {
|
|
7698
7698
|
"filename": "lib/job.ts",
|
|
7699
|
-
"line":
|
|
7699
|
+
"line": 524
|
|
7700
7700
|
},
|
|
7701
7701
|
"name": "workerType",
|
|
7702
7702
|
"optional": true,
|
|
@@ -7718,7 +7718,7 @@
|
|
|
7718
7718
|
"kind": "enum",
|
|
7719
7719
|
"locationInModule": {
|
|
7720
7720
|
"filename": "lib/job.ts",
|
|
7721
|
-
"line":
|
|
7721
|
+
"line": 78
|
|
7722
7722
|
},
|
|
7723
7723
|
"members": [
|
|
7724
7724
|
{
|
|
@@ -7920,7 +7920,7 @@
|
|
|
7920
7920
|
"kind": "enum",
|
|
7921
7921
|
"locationInModule": {
|
|
7922
7922
|
"filename": "lib/job.ts",
|
|
7923
|
-
"line":
|
|
7923
|
+
"line": 120
|
|
7924
7924
|
},
|
|
7925
7925
|
"members": [
|
|
7926
7926
|
{
|
|
@@ -8751,7 +8751,7 @@
|
|
|
8751
8751
|
"docs": {
|
|
8752
8752
|
"stability": "experimental",
|
|
8753
8753
|
"summary": "Props for creating a Scala Spark (ETL or Streaming) job executable.",
|
|
8754
|
-
"example": "declare const bucket: s3.Bucket;\nnew glue.Job(this, 'ScalaSparkEtlJob', {\n executable: glue.JobExecutable.scalaEtl({\n glueVersion: glue.GlueVersion.V4_0,\n script: glue.Code.fromBucket(bucket, 'src/com/example/HelloWorld.scala'),\n className: 'com.example.HelloWorld',\n extraJars: [glue.Code.fromBucket(bucket, 'jars/HelloWorld.jar')],\n }),\n description: 'an example Scala ETL job',\n});",
|
|
8754
|
+
"example": "declare const bucket: s3.Bucket;\nnew glue.Job(this, 'ScalaSparkEtlJob', {\n executable: glue.JobExecutable.scalaEtl({\n glueVersion: glue.GlueVersion.V4_0,\n script: glue.Code.fromBucket(bucket, 'src/com/example/HelloWorld.scala'),\n className: 'com.example.HelloWorld',\n extraJars: [glue.Code.fromBucket(bucket, 'jars/HelloWorld.jar')],\n }),\n workerType: glue.WorkerType.G_8X,\n description: 'an example Scala ETL job',\n});",
|
|
8755
8755
|
"custom": {
|
|
8756
8756
|
"exampleMetadata": "infused"
|
|
8757
8757
|
}
|
|
@@ -9793,7 +9793,7 @@
|
|
|
9793
9793
|
"kind": "interface",
|
|
9794
9794
|
"locationInModule": {
|
|
9795
9795
|
"filename": "lib/job.ts",
|
|
9796
|
-
"line":
|
|
9796
|
+
"line": 384
|
|
9797
9797
|
},
|
|
9798
9798
|
"name": "SparkUILoggingLocation",
|
|
9799
9799
|
"properties": [
|
|
@@ -9806,7 +9806,7 @@
|
|
|
9806
9806
|
"immutable": true,
|
|
9807
9807
|
"locationInModule": {
|
|
9808
9808
|
"filename": "lib/job.ts",
|
|
9809
|
-
"line":
|
|
9809
|
+
"line": 388
|
|
9810
9810
|
},
|
|
9811
9811
|
"name": "bucket",
|
|
9812
9812
|
"type": {
|
|
@@ -9823,7 +9823,7 @@
|
|
|
9823
9823
|
"immutable": true,
|
|
9824
9824
|
"locationInModule": {
|
|
9825
9825
|
"filename": "lib/job.ts",
|
|
9826
|
-
"line":
|
|
9826
|
+
"line": 395
|
|
9827
9827
|
},
|
|
9828
9828
|
"name": "prefix",
|
|
9829
9829
|
"optional": true,
|
|
@@ -9850,7 +9850,7 @@
|
|
|
9850
9850
|
"kind": "interface",
|
|
9851
9851
|
"locationInModule": {
|
|
9852
9852
|
"filename": "lib/job.ts",
|
|
9853
|
-
"line":
|
|
9853
|
+
"line": 357
|
|
9854
9854
|
},
|
|
9855
9855
|
"name": "SparkUIProps",
|
|
9856
9856
|
"properties": [
|
|
@@ -9863,7 +9863,7 @@
|
|
|
9863
9863
|
"immutable": true,
|
|
9864
9864
|
"locationInModule": {
|
|
9865
9865
|
"filename": "lib/job.ts",
|
|
9866
|
-
"line":
|
|
9866
|
+
"line": 361
|
|
9867
9867
|
},
|
|
9868
9868
|
"name": "enabled",
|
|
9869
9869
|
"type": {
|
|
@@ -9880,7 +9880,7 @@
|
|
|
9880
9880
|
"immutable": true,
|
|
9881
9881
|
"locationInModule": {
|
|
9882
9882
|
"filename": "lib/job.ts",
|
|
9883
|
-
"line":
|
|
9883
|
+
"line": 368
|
|
9884
9884
|
},
|
|
9885
9885
|
"name": "bucket",
|
|
9886
9886
|
"optional": true,
|
|
@@ -9898,7 +9898,7 @@
|
|
|
9898
9898
|
"immutable": true,
|
|
9899
9899
|
"locationInModule": {
|
|
9900
9900
|
"filename": "lib/job.ts",
|
|
9901
|
-
"line":
|
|
9901
|
+
"line": 375
|
|
9902
9902
|
},
|
|
9903
9903
|
"name": "prefix",
|
|
9904
9904
|
"optional": true,
|
|
@@ -10871,7 +10871,7 @@
|
|
|
10871
10871
|
"remarks": "If you need to use a WorkerType that doesn't exist as a static member, you\ncan instantiate a `WorkerType` object, e.g: `WorkerType.of('other type')`.",
|
|
10872
10872
|
"stability": "experimental",
|
|
10873
10873
|
"summary": "The type of predefined worker that is allocated when a job runs.",
|
|
10874
|
-
"example": "
|
|
10874
|
+
"example": "declare const bucket: s3.Bucket;\nnew glue.Job(this, 'ScalaSparkEtlJob', {\n executable: glue.JobExecutable.scalaEtl({\n glueVersion: glue.GlueVersion.V4_0,\n script: glue.Code.fromBucket(bucket, 'src/com/example/HelloWorld.scala'),\n className: 'com.example.HelloWorld',\n extraJars: [glue.Code.fromBucket(bucket, 'jars/HelloWorld.jar')],\n }),\n workerType: glue.WorkerType.G_8X,\n description: 'an example Scala ETL job',\n});",
|
|
10875
10875
|
"custom": {
|
|
10876
10876
|
"exampleMetadata": "infused"
|
|
10877
10877
|
}
|
|
@@ -10890,7 +10890,7 @@
|
|
|
10890
10890
|
},
|
|
10891
10891
|
"locationInModule": {
|
|
10892
10892
|
"filename": "lib/job.ts",
|
|
10893
|
-
"line":
|
|
10893
|
+
"line": 59
|
|
10894
10894
|
},
|
|
10895
10895
|
"name": "of",
|
|
10896
10896
|
"parameters": [
|
|
@@ -10923,7 +10923,7 @@
|
|
|
10923
10923
|
"immutable": true,
|
|
10924
10924
|
"locationInModule": {
|
|
10925
10925
|
"filename": "lib/job.ts",
|
|
10926
|
-
"line":
|
|
10926
|
+
"line": 48
|
|
10927
10927
|
},
|
|
10928
10928
|
"name": "G_025X",
|
|
10929
10929
|
"static": true,
|
|
@@ -10967,6 +10967,42 @@
|
|
|
10967
10967
|
"fqn": "@aws-cdk/aws-glue-alpha.WorkerType"
|
|
10968
10968
|
}
|
|
10969
10969
|
},
|
|
10970
|
+
{
|
|
10971
|
+
"const": true,
|
|
10972
|
+
"docs": {
|
|
10973
|
+
"remarks": "We recommend this worker type for jobs whose workloads contain your most demanding transforms, aggregations, joins, and queries. This worker type is available only for AWS Glue version 3.0 or later jobs.",
|
|
10974
|
+
"stability": "experimental",
|
|
10975
|
+
"summary": "Each worker maps to 4 DPU (16 vCPU, 64 GB of memory, 256 GB disk), and provides 1 executor per worker."
|
|
10976
|
+
},
|
|
10977
|
+
"immutable": true,
|
|
10978
|
+
"locationInModule": {
|
|
10979
|
+
"filename": "lib/job.ts",
|
|
10980
|
+
"line": 38
|
|
10981
|
+
},
|
|
10982
|
+
"name": "G_4X",
|
|
10983
|
+
"static": true,
|
|
10984
|
+
"type": {
|
|
10985
|
+
"fqn": "@aws-cdk/aws-glue-alpha.WorkerType"
|
|
10986
|
+
}
|
|
10987
|
+
},
|
|
10988
|
+
{
|
|
10989
|
+
"const": true,
|
|
10990
|
+
"docs": {
|
|
10991
|
+
"remarks": "We recommend this worker type for jobs whose workloads contain your most demanding transforms, aggregations, joins, and queries. This worker type is available only for AWS Glue version 3.0 or later jobs.",
|
|
10992
|
+
"stability": "experimental",
|
|
10993
|
+
"summary": "Each worker maps to 8 DPU (32 vCPU, 128 GB of memory, 512 GB disk), and provides 1 executor per worker."
|
|
10994
|
+
},
|
|
10995
|
+
"immutable": true,
|
|
10996
|
+
"locationInModule": {
|
|
10997
|
+
"filename": "lib/job.ts",
|
|
10998
|
+
"line": 43
|
|
10999
|
+
},
|
|
11000
|
+
"name": "G_8X",
|
|
11001
|
+
"static": true,
|
|
11002
|
+
"type": {
|
|
11003
|
+
"fqn": "@aws-cdk/aws-glue-alpha.WorkerType"
|
|
11004
|
+
}
|
|
11005
|
+
},
|
|
10970
11006
|
{
|
|
10971
11007
|
"const": true,
|
|
10972
11008
|
"docs": {
|
|
@@ -10994,7 +11030,7 @@
|
|
|
10994
11030
|
"immutable": true,
|
|
10995
11031
|
"locationInModule": {
|
|
10996
11032
|
"filename": "lib/job.ts",
|
|
10997
|
-
"line":
|
|
11033
|
+
"line": 53
|
|
10998
11034
|
},
|
|
10999
11035
|
"name": "Z_2X",
|
|
11000
11036
|
"static": true,
|
|
@@ -11010,7 +11046,7 @@
|
|
|
11010
11046
|
"immutable": true,
|
|
11011
11047
|
"locationInModule": {
|
|
11012
11048
|
"filename": "lib/job.ts",
|
|
11013
|
-
"line":
|
|
11049
|
+
"line": 66
|
|
11014
11050
|
},
|
|
11015
11051
|
"name": "name",
|
|
11016
11052
|
"type": {
|
|
@@ -11021,6 +11057,6 @@
|
|
|
11021
11057
|
"symbolId": "lib/job:WorkerType"
|
|
11022
11058
|
}
|
|
11023
11059
|
},
|
|
11024
|
-
"version": "2.
|
|
11060
|
+
"version": "2.81.0-alpha.0",
|
|
11025
11061
|
"fingerprint": "**********"
|
|
11026
11062
|
}
|