@aws-cdk/aws-glue-alpha 2.173.3-alpha.0 → 2.174.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 +536 -116
- package/.jsii.tabl.json.gz +0 -0
- package/LICENSE +1 -1
- package/NOTICE +1 -1
- package/README.md +6 -6
- package/lib/code.js +3 -3
- package/lib/connection.d.ts +88 -0
- package/lib/connection.js +91 -3
- package/lib/data-format.js +5 -5
- package/lib/data-quality-ruleset.js +2 -2
- package/lib/database.js +1 -1
- package/lib/external-table.js +1 -1
- package/lib/job-executable.d.ts +7 -0
- package/lib/job-executable.js +12 -5
- package/lib/job.js +2 -2
- package/lib/s3-table.js +1 -1
- package/lib/schema.js +1 -1
- package/lib/security-configuration.js +1 -1
- package/lib/storage-parameter.js +1 -1
- package/lib/table-base.js +2 -2
- package/lib/table-deprecated.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.174.0",
|
|
12
12
|
"constructs": "^10.0.0"
|
|
13
13
|
},
|
|
14
14
|
"dependencyClosure": {
|
|
@@ -2736,6 +2736,19 @@
|
|
|
2736
2736
|
}
|
|
2737
2737
|
}
|
|
2738
2738
|
},
|
|
2739
|
+
"aws-cdk-lib.aws_pcs": {
|
|
2740
|
+
"targets": {
|
|
2741
|
+
"dotnet": {
|
|
2742
|
+
"package": "Amazon.CDK.AWS.PCS"
|
|
2743
|
+
},
|
|
2744
|
+
"java": {
|
|
2745
|
+
"package": "software.amazon.awscdk.services.pcs"
|
|
2746
|
+
},
|
|
2747
|
+
"python": {
|
|
2748
|
+
"module": "aws_cdk.aws_pcs"
|
|
2749
|
+
}
|
|
2750
|
+
}
|
|
2751
|
+
},
|
|
2739
2752
|
"aws-cdk-lib.aws_personalize": {
|
|
2740
2753
|
"targets": {
|
|
2741
2754
|
"dotnet": {
|
|
@@ -3191,6 +3204,19 @@
|
|
|
3191
3204
|
}
|
|
3192
3205
|
}
|
|
3193
3206
|
},
|
|
3207
|
+
"aws-cdk-lib.aws_s3tables": {
|
|
3208
|
+
"targets": {
|
|
3209
|
+
"dotnet": {
|
|
3210
|
+
"package": "Amazon.CDK.AWS.S3Tables"
|
|
3211
|
+
},
|
|
3212
|
+
"java": {
|
|
3213
|
+
"package": "software.amazon.awscdk.services.s3tables"
|
|
3214
|
+
},
|
|
3215
|
+
"python": {
|
|
3216
|
+
"module": "aws_cdk.aws_s3tables"
|
|
3217
|
+
}
|
|
3218
|
+
}
|
|
3219
|
+
},
|
|
3194
3220
|
"aws-cdk-lib.aws_sagemaker": {
|
|
3195
3221
|
"targets": {
|
|
3196
3222
|
"dotnet": {
|
|
@@ -3900,7 +3926,7 @@
|
|
|
3900
3926
|
"stability": "experimental"
|
|
3901
3927
|
},
|
|
3902
3928
|
"homepage": "https://github.com/aws/aws-cdk",
|
|
3903
|
-
"jsiiVersion": "5.
|
|
3929
|
+
"jsiiVersion": "5.7.3 (build e7089ad)",
|
|
3904
3930
|
"keywords": [
|
|
3905
3931
|
"aws",
|
|
3906
3932
|
"cdk",
|
|
@@ -3921,7 +3947,7 @@
|
|
|
3921
3947
|
},
|
|
3922
3948
|
"name": "@aws-cdk/aws-glue-alpha",
|
|
3923
3949
|
"readme": {
|
|
3924
|
-
"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`glue.ExecutionClass` allows you to specify `FLEX` or `STANDARD`. `FLEX` is appropriate for non-urgent jobs such as pre-production jobs, testing, and one-time data loads.\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 runtime: glue.Runtime.RAY_TWO_FOUR,\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\n### Enable Spark UI\n\nEnable Spark UI setting the `sparkUI` property.\n\n```ts\nnew glue.Job(this, 'EnableSparkUI', {\n jobName: 'EtlJobWithSparkUIPrefix',\n sparkUI: {\n enabled: true,\n },\n executable: glue.JobExecutable.pythonEtl({\n glueVersion: glue.GlueVersion.V3_0,\n pythonVersion: glue.PythonVersion.THREE,\n script: glue.Code.fromAsset(path.join(__dirname, 'job-script', 'hello_world.py')),\n }),\n});\n```\n\nThe `sparkUI` property also allows the specification of an s3 bucket and a bucket prefix.\n\nSee [documentation](https://docs.aws.amazon.com/glue/latest/dg/add-job.html) for more information on adding jobs in Glue.\n\n### Enable Job Run Queuing\n\nAWS Glue job queuing monitors your account level quotas and limits. If quotas or limits are insufficient to start a Glue job run, AWS Glue will automatically queue the job and wait for limits to free up. Once limits become available, AWS Glue will retry the job run. Glue jobs will queue for limits like max concurrent job runs per account, max concurrent Data Processing Units (DPU), and resource unavailable due to IP address exhaustion in Amazon Virtual Private Cloud (Amazon VPC).\n\nEnable job run queuing by setting the `jobRunQueuingEnabled` property to `true`.\n\n```ts\nnew glue.Job(this, 'EnableRunQueuing', {\n jobName: 'EtlJobWithRunQueuing',\n executable: glue.JobExecutable.pythonEtl({\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 jobRunQueuingEnabled: true,\n});\n```\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 databaseName: 'my_database',\n description: 'my_database_description',\n});\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.S3Table(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.S3Table(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\nGlue tables can be configured to contain user-defined properties, to describe the physical storage of table data, through the `storageParameters` property:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.S3Table(this, 'MyTable', {\n storageParameters: [\n glue.StorageParameter.skipHeaderLineCount(1),\n glue.StorageParameter.compressionType(glue.CompressionType.GZIP),\n glue.StorageParameter.custom('separatorChar', ',')\n ],\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\nGlue tables can also be configured to contain user-defined table properties through the [`parameters`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-parameters) property:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.S3Table(this, 'MyTable', {\n parameters: {\n key1: 'val1',\n key2: 'val2',\n },\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\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.S3Table(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.S3Table(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.S3Table(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### Glue Connections\n\nGlue connections allow external data connections to third party databases and data warehouses. However, these connections can also be assigned to Glue Tables, allowing you to query external data sources using the Glue Data Catalog.\n\nWhereas `S3Table` will point to (and if needed, create) a bucket to store the tables' data, `ExternalTable` will point to an existing table in a data source. For example, to create a table in Glue that points to a table in Redshift:\n\n```ts\ndeclare const myConnection: glue.Connection;\ndeclare const myDatabase: glue.Database;\nnew glue.ExternalTable(this, 'MyTable', {\n connection: myConnection,\n externalDataLocation: 'default_db_public_example', // A table in Redshift\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\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.S3Table(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.S3Table(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.S3Table(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.S3Table(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.S3Table(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.S3Table(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 `S3Table` 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.S3Table(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\n## Data Quality Ruleset\n\nA `DataQualityRuleset` specifies a data quality ruleset with DQDL rules applied to a specified AWS Glue table. For example, to create a data quality ruleset for a given table:\n\n```ts\nnew glue.DataQualityRuleset(this, 'MyDataQualityRuleset', {\n clientToken: 'client_token',\n description: 'description',\n rulesetName: 'ruleset_name',\n rulesetDqdl: 'ruleset_dqdl',\n tags: {\n key1: 'value1',\n key2: 'value2',\n },\n targetTable: new glue.DataQualityTargetTable('database_name', 'table_name'),\n});\n```\n\nFor more information, see [AWS Glue Data Quality](https://docs.aws.amazon.com/glue/latest/dg/glue-data-quality.html).\n"
|
|
3950
|
+
"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`glue.ExecutionClass` allows you to specify `FLEX` or `STANDARD`. `FLEX` is appropriate for non-urgent jobs such as pre-production jobs, testing, and one-time data loads.\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.V5_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.V5_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.V5_0,\n pythonVersion: glue.PythonVersion.THREE_NINE,\n runtime: glue.Runtime.RAY_TWO_FOUR,\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\n### Enable Spark UI\n\nEnable Spark UI setting the `sparkUI` property.\n\n```ts\nnew glue.Job(this, 'EnableSparkUI', {\n jobName: 'EtlJobWithSparkUIPrefix',\n sparkUI: {\n enabled: true,\n },\n executable: glue.JobExecutable.pythonEtl({\n glueVersion: glue.GlueVersion.V3_0,\n pythonVersion: glue.PythonVersion.THREE,\n script: glue.Code.fromAsset(path.join(__dirname, 'job-script', 'hello_world.py')),\n }),\n});\n```\n\nThe `sparkUI` property also allows the specification of an s3 bucket and a bucket prefix.\n\nSee [documentation](https://docs.aws.amazon.com/glue/latest/dg/add-job.html) for more information on adding jobs in Glue.\n\n### Enable Job Run Queuing\n\nAWS Glue job queuing monitors your account level quotas and limits. If quotas or limits are insufficient to start a Glue job run, AWS Glue will automatically queue the job and wait for limits to free up. Once limits become available, AWS Glue will retry the job run. Glue jobs will queue for limits like max concurrent job runs per account, max concurrent Data Processing Units (DPU), and resource unavailable due to IP address exhaustion in Amazon Virtual Private Cloud (Amazon VPC).\n\nEnable job run queuing by setting the `jobRunQueuingEnabled` property to `true`.\n\n```ts\nnew glue.Job(this, 'EnableRunQueuing', {\n jobName: 'EtlJobWithRunQueuing',\n executable: glue.JobExecutable.pythonEtl({\n glueVersion: glue.GlueVersion.V5_0,\n pythonVersion: glue.PythonVersion.THREE,\n script: glue.Code.fromAsset(path.join(__dirname, 'job-script', 'hello_world.py')),\n }),\n jobRunQueuingEnabled: true,\n});\n```\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 databaseName: 'my_database',\n description: 'my_database_description',\n});\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.S3Table(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.S3Table(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\nGlue tables can be configured to contain user-defined properties, to describe the physical storage of table data, through the `storageParameters` property:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.S3Table(this, 'MyTable', {\n storageParameters: [\n glue.StorageParameter.skipHeaderLineCount(1),\n glue.StorageParameter.compressionType(glue.CompressionType.GZIP),\n glue.StorageParameter.custom('separatorChar', ',')\n ],\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\nGlue tables can also be configured to contain user-defined table properties through the [`parameters`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-parameters) property:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.S3Table(this, 'MyTable', {\n parameters: {\n key1: 'val1',\n key2: 'val2',\n },\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\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.S3Table(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.S3Table(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.S3Table(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### Glue Connections\n\nGlue connections allow external data connections to third party databases and data warehouses. However, these connections can also be assigned to Glue Tables, allowing you to query external data sources using the Glue Data Catalog.\n\nWhereas `S3Table` will point to (and if needed, create) a bucket to store the tables' data, `ExternalTable` will point to an existing table in a data source. For example, to create a table in Glue that points to a table in Redshift:\n\n```ts\ndeclare const myConnection: glue.Connection;\ndeclare const myDatabase: glue.Database;\nnew glue.ExternalTable(this, 'MyTable', {\n connection: myConnection,\n externalDataLocation: 'default_db_public_example', // A table in Redshift\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\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.S3Table(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.S3Table(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.S3Table(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.S3Table(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.S3Table(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.S3Table(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 `S3Table` 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.S3Table(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\n## Data Quality Ruleset\n\nA `DataQualityRuleset` specifies a data quality ruleset with DQDL rules applied to a specified AWS Glue table. For example, to create a data quality ruleset for a given table:\n\n```ts\nnew glue.DataQualityRuleset(this, 'MyDataQualityRuleset', {\n clientToken: 'client_token',\n description: 'description',\n rulesetName: 'ruleset_name',\n rulesetDqdl: 'ruleset_dqdl',\n tags: {\n key1: 'value1',\n key2: 'value2',\n },\n targetTable: new glue.DataQualityTargetTable('database_name', 'table_name'),\n});\n```\n\nFor more information, see [AWS Glue Data Quality](https://docs.aws.amazon.com/glue/latest/dg/glue-data-quality.html).\n"
|
|
3925
3951
|
},
|
|
3926
3952
|
"repository": {
|
|
3927
3953
|
"directory": "packages/@aws-cdk/aws-glue-alpha",
|
|
@@ -4286,7 +4312,7 @@
|
|
|
4286
4312
|
"docs": {
|
|
4287
4313
|
"stability": "experimental",
|
|
4288
4314
|
"summary": "Represents a Glue Job's Code assets (an asset can be a scripts, a jar, a python file or any other file).",
|
|
4289
|
-
"example": "new glue.Job(this, 'EnableRunQueuing', {\n jobName: 'EtlJobWithRunQueuing',\n executable: glue.JobExecutable.pythonEtl({\n glueVersion: glue.GlueVersion.
|
|
4315
|
+
"example": "new glue.Job(this, 'EnableRunQueuing', {\n jobName: 'EtlJobWithRunQueuing',\n executable: glue.JobExecutable.pythonEtl({\n glueVersion: glue.GlueVersion.V5_0,\n pythonVersion: glue.PythonVersion.THREE,\n script: glue.Code.fromAsset(path.join(__dirname, 'job-script', 'hello_world.py')),\n }),\n jobRunQueuingEnabled: true,\n});",
|
|
4290
4316
|
"custom": {
|
|
4291
4317
|
"exampleMetadata": "infused"
|
|
4292
4318
|
}
|
|
@@ -4635,7 +4661,7 @@
|
|
|
4635
4661
|
},
|
|
4636
4662
|
"locationInModule": {
|
|
4637
4663
|
"filename": "lib/connection.ts",
|
|
4638
|
-
"line":
|
|
4664
|
+
"line": 302
|
|
4639
4665
|
},
|
|
4640
4666
|
"parameters": [
|
|
4641
4667
|
{
|
|
@@ -4664,7 +4690,7 @@
|
|
|
4664
4690
|
"kind": "class",
|
|
4665
4691
|
"locationInModule": {
|
|
4666
4692
|
"filename": "lib/connection.ts",
|
|
4667
|
-
"line":
|
|
4693
|
+
"line": 248
|
|
4668
4694
|
},
|
|
4669
4695
|
"methods": [
|
|
4670
4696
|
{
|
|
@@ -4674,7 +4700,7 @@
|
|
|
4674
4700
|
},
|
|
4675
4701
|
"locationInModule": {
|
|
4676
4702
|
"filename": "lib/connection.ts",
|
|
4677
|
-
"line":
|
|
4703
|
+
"line": 257
|
|
4678
4704
|
},
|
|
4679
4705
|
"name": "fromConnectionArn",
|
|
4680
4706
|
"parameters": [
|
|
@@ -4720,7 +4746,7 @@
|
|
|
4720
4746
|
},
|
|
4721
4747
|
"locationInModule": {
|
|
4722
4748
|
"filename": "lib/connection.ts",
|
|
4723
|
-
"line":
|
|
4749
|
+
"line": 273
|
|
4724
4750
|
},
|
|
4725
4751
|
"name": "fromConnectionName",
|
|
4726
4752
|
"parameters": [
|
|
@@ -4766,7 +4792,7 @@
|
|
|
4766
4792
|
},
|
|
4767
4793
|
"locationInModule": {
|
|
4768
4794
|
"filename": "lib/connection.ts",
|
|
4769
|
-
"line":
|
|
4795
|
+
"line": 337
|
|
4770
4796
|
},
|
|
4771
4797
|
"name": "addProperty",
|
|
4772
4798
|
"parameters": [
|
|
@@ -4801,7 +4827,7 @@
|
|
|
4801
4827
|
"immutable": true,
|
|
4802
4828
|
"locationInModule": {
|
|
4803
4829
|
"filename": "lib/connection.ts",
|
|
4804
|
-
"line":
|
|
4830
|
+
"line": 293
|
|
4805
4831
|
},
|
|
4806
4832
|
"name": "connectionArn",
|
|
4807
4833
|
"overrides": "@aws-cdk/aws-glue-alpha.IConnection",
|
|
@@ -4817,7 +4843,7 @@
|
|
|
4817
4843
|
"immutable": true,
|
|
4818
4844
|
"locationInModule": {
|
|
4819
4845
|
"filename": "lib/connection.ts",
|
|
4820
|
-
"line":
|
|
4846
|
+
"line": 298
|
|
4821
4847
|
},
|
|
4822
4848
|
"name": "connectionName",
|
|
4823
4849
|
"overrides": "@aws-cdk/aws-glue-alpha.IConnection",
|
|
@@ -4843,7 +4869,7 @@
|
|
|
4843
4869
|
"kind": "interface",
|
|
4844
4870
|
"locationInModule": {
|
|
4845
4871
|
"filename": "lib/connection.ts",
|
|
4846
|
-
"line":
|
|
4872
|
+
"line": 195
|
|
4847
4873
|
},
|
|
4848
4874
|
"name": "ConnectionOptions",
|
|
4849
4875
|
"properties": [
|
|
@@ -4857,7 +4883,7 @@
|
|
|
4857
4883
|
"immutable": true,
|
|
4858
4884
|
"locationInModule": {
|
|
4859
4885
|
"filename": "lib/connection.ts",
|
|
4860
|
-
"line":
|
|
4886
|
+
"line": 200
|
|
4861
4887
|
},
|
|
4862
4888
|
"name": "connectionName",
|
|
4863
4889
|
"optional": true,
|
|
@@ -4875,7 +4901,7 @@
|
|
|
4875
4901
|
"immutable": true,
|
|
4876
4902
|
"locationInModule": {
|
|
4877
4903
|
"filename": "lib/connection.ts",
|
|
4878
|
-
"line":
|
|
4904
|
+
"line": 206
|
|
4879
4905
|
},
|
|
4880
4906
|
"name": "description",
|
|
4881
4907
|
"optional": true,
|
|
@@ -4894,7 +4920,7 @@
|
|
|
4894
4920
|
"immutable": true,
|
|
4895
4921
|
"locationInModule": {
|
|
4896
4922
|
"filename": "lib/connection.ts",
|
|
4897
|
-
"line":
|
|
4923
|
+
"line": 220
|
|
4898
4924
|
},
|
|
4899
4925
|
"name": "matchCriteria",
|
|
4900
4926
|
"optional": true,
|
|
@@ -4918,7 +4944,7 @@
|
|
|
4918
4944
|
"immutable": true,
|
|
4919
4945
|
"locationInModule": {
|
|
4920
4946
|
"filename": "lib/connection.ts",
|
|
4921
|
-
"line":
|
|
4947
|
+
"line": 213
|
|
4922
4948
|
},
|
|
4923
4949
|
"name": "properties",
|
|
4924
4950
|
"optional": true,
|
|
@@ -4941,7 +4967,7 @@
|
|
|
4941
4967
|
"immutable": true,
|
|
4942
4968
|
"locationInModule": {
|
|
4943
4969
|
"filename": "lib/connection.ts",
|
|
4944
|
-
"line":
|
|
4970
|
+
"line": 226
|
|
4945
4971
|
},
|
|
4946
4972
|
"name": "securityGroups",
|
|
4947
4973
|
"optional": true,
|
|
@@ -4965,7 +4991,7 @@
|
|
|
4965
4991
|
"immutable": true,
|
|
4966
4992
|
"locationInModule": {
|
|
4967
4993
|
"filename": "lib/connection.ts",
|
|
4968
|
-
"line":
|
|
4994
|
+
"line": 232
|
|
4969
4995
|
},
|
|
4970
4996
|
"name": "subnet",
|
|
4971
4997
|
"optional": true,
|
|
@@ -4994,7 +5020,7 @@
|
|
|
4994
5020
|
"kind": "interface",
|
|
4995
5021
|
"locationInModule": {
|
|
4996
5022
|
"filename": "lib/connection.ts",
|
|
4997
|
-
"line":
|
|
5023
|
+
"line": 238
|
|
4998
5024
|
},
|
|
4999
5025
|
"name": "ConnectionProps",
|
|
5000
5026
|
"properties": [
|
|
@@ -5007,7 +5033,7 @@
|
|
|
5007
5033
|
"immutable": true,
|
|
5008
5034
|
"locationInModule": {
|
|
5009
5035
|
"filename": "lib/connection.ts",
|
|
5010
|
-
"line":
|
|
5036
|
+
"line": 242
|
|
5011
5037
|
},
|
|
5012
5038
|
"name": "type",
|
|
5013
5039
|
"type": {
|
|
@@ -5036,7 +5062,7 @@
|
|
|
5036
5062
|
},
|
|
5037
5063
|
"locationInModule": {
|
|
5038
5064
|
"filename": "lib/connection.ts",
|
|
5039
|
-
"line":
|
|
5065
|
+
"line": 163
|
|
5040
5066
|
},
|
|
5041
5067
|
"parameters": [
|
|
5042
5068
|
{
|
|
@@ -5060,7 +5086,7 @@
|
|
|
5060
5086
|
},
|
|
5061
5087
|
"locationInModule": {
|
|
5062
5088
|
"filename": "lib/connection.ts",
|
|
5063
|
-
"line":
|
|
5089
|
+
"line": 170
|
|
5064
5090
|
},
|
|
5065
5091
|
"name": "toString",
|
|
5066
5092
|
"returns": {
|
|
@@ -5081,7 +5107,7 @@
|
|
|
5081
5107
|
"immutable": true,
|
|
5082
5108
|
"locationInModule": {
|
|
5083
5109
|
"filename": "lib/connection.ts",
|
|
5084
|
-
"line":
|
|
5110
|
+
"line": 56
|
|
5085
5111
|
},
|
|
5086
5112
|
"name": "CUSTOM",
|
|
5087
5113
|
"static": true,
|
|
@@ -5089,6 +5115,125 @@
|
|
|
5089
5115
|
"fqn": "@aws-cdk/aws-glue-alpha.ConnectionType"
|
|
5090
5116
|
}
|
|
5091
5117
|
},
|
|
5118
|
+
{
|
|
5119
|
+
"const": true,
|
|
5120
|
+
"docs": {
|
|
5121
|
+
"stability": "experimental",
|
|
5122
|
+
"summary": "Designates a connection to Facebook Ads."
|
|
5123
|
+
},
|
|
5124
|
+
"immutable": true,
|
|
5125
|
+
"locationInModule": {
|
|
5126
|
+
"filename": "lib/connection.ts",
|
|
5127
|
+
"line": 61
|
|
5128
|
+
},
|
|
5129
|
+
"name": "FACEBOOKADS",
|
|
5130
|
+
"static": true,
|
|
5131
|
+
"type": {
|
|
5132
|
+
"fqn": "@aws-cdk/aws-glue-alpha.ConnectionType"
|
|
5133
|
+
}
|
|
5134
|
+
},
|
|
5135
|
+
{
|
|
5136
|
+
"const": true,
|
|
5137
|
+
"docs": {
|
|
5138
|
+
"stability": "experimental",
|
|
5139
|
+
"summary": "Designates a connection to Google Ads."
|
|
5140
|
+
},
|
|
5141
|
+
"immutable": true,
|
|
5142
|
+
"locationInModule": {
|
|
5143
|
+
"filename": "lib/connection.ts",
|
|
5144
|
+
"line": 66
|
|
5145
|
+
},
|
|
5146
|
+
"name": "GOOGLEADS",
|
|
5147
|
+
"static": true,
|
|
5148
|
+
"type": {
|
|
5149
|
+
"fqn": "@aws-cdk/aws-glue-alpha.ConnectionType"
|
|
5150
|
+
}
|
|
5151
|
+
},
|
|
5152
|
+
{
|
|
5153
|
+
"const": true,
|
|
5154
|
+
"docs": {
|
|
5155
|
+
"stability": "experimental",
|
|
5156
|
+
"summary": "Designates a connection to Google Analytics 4."
|
|
5157
|
+
},
|
|
5158
|
+
"immutable": true,
|
|
5159
|
+
"locationInModule": {
|
|
5160
|
+
"filename": "lib/connection.ts",
|
|
5161
|
+
"line": 76
|
|
5162
|
+
},
|
|
5163
|
+
"name": "GOOGLEANALYTICS4",
|
|
5164
|
+
"static": true,
|
|
5165
|
+
"type": {
|
|
5166
|
+
"fqn": "@aws-cdk/aws-glue-alpha.ConnectionType"
|
|
5167
|
+
}
|
|
5168
|
+
},
|
|
5169
|
+
{
|
|
5170
|
+
"const": true,
|
|
5171
|
+
"docs": {
|
|
5172
|
+
"stability": "experimental",
|
|
5173
|
+
"summary": "Designates a connection to Google Sheets."
|
|
5174
|
+
},
|
|
5175
|
+
"immutable": true,
|
|
5176
|
+
"locationInModule": {
|
|
5177
|
+
"filename": "lib/connection.ts",
|
|
5178
|
+
"line": 71
|
|
5179
|
+
},
|
|
5180
|
+
"name": "GOOGLESHEETS",
|
|
5181
|
+
"static": true,
|
|
5182
|
+
"type": {
|
|
5183
|
+
"fqn": "@aws-cdk/aws-glue-alpha.ConnectionType"
|
|
5184
|
+
}
|
|
5185
|
+
},
|
|
5186
|
+
{
|
|
5187
|
+
"const": true,
|
|
5188
|
+
"docs": {
|
|
5189
|
+
"stability": "experimental",
|
|
5190
|
+
"summary": "Designates a connection to HubSpot."
|
|
5191
|
+
},
|
|
5192
|
+
"immutable": true,
|
|
5193
|
+
"locationInModule": {
|
|
5194
|
+
"filename": "lib/connection.ts",
|
|
5195
|
+
"line": 81
|
|
5196
|
+
},
|
|
5197
|
+
"name": "HUBSPOT",
|
|
5198
|
+
"static": true,
|
|
5199
|
+
"type": {
|
|
5200
|
+
"fqn": "@aws-cdk/aws-glue-alpha.ConnectionType"
|
|
5201
|
+
}
|
|
5202
|
+
},
|
|
5203
|
+
{
|
|
5204
|
+
"const": true,
|
|
5205
|
+
"docs": {
|
|
5206
|
+
"stability": "experimental",
|
|
5207
|
+
"summary": "Designates a connection to Instagram Ads."
|
|
5208
|
+
},
|
|
5209
|
+
"immutable": true,
|
|
5210
|
+
"locationInModule": {
|
|
5211
|
+
"filename": "lib/connection.ts",
|
|
5212
|
+
"line": 86
|
|
5213
|
+
},
|
|
5214
|
+
"name": "INSTAGRAMADS",
|
|
5215
|
+
"static": true,
|
|
5216
|
+
"type": {
|
|
5217
|
+
"fqn": "@aws-cdk/aws-glue-alpha.ConnectionType"
|
|
5218
|
+
}
|
|
5219
|
+
},
|
|
5220
|
+
{
|
|
5221
|
+
"const": true,
|
|
5222
|
+
"docs": {
|
|
5223
|
+
"stability": "experimental",
|
|
5224
|
+
"summary": "Designates a connection to Intercom."
|
|
5225
|
+
},
|
|
5226
|
+
"immutable": true,
|
|
5227
|
+
"locationInModule": {
|
|
5228
|
+
"filename": "lib/connection.ts",
|
|
5229
|
+
"line": 91
|
|
5230
|
+
},
|
|
5231
|
+
"name": "INTERCOM",
|
|
5232
|
+
"static": true,
|
|
5233
|
+
"type": {
|
|
5234
|
+
"fqn": "@aws-cdk/aws-glue-alpha.ConnectionType"
|
|
5235
|
+
}
|
|
5236
|
+
},
|
|
5092
5237
|
{
|
|
5093
5238
|
"const": true,
|
|
5094
5239
|
"docs": {
|
|
@@ -5106,6 +5251,23 @@
|
|
|
5106
5251
|
"fqn": "@aws-cdk/aws-glue-alpha.ConnectionType"
|
|
5107
5252
|
}
|
|
5108
5253
|
},
|
|
5254
|
+
{
|
|
5255
|
+
"const": true,
|
|
5256
|
+
"docs": {
|
|
5257
|
+
"stability": "experimental",
|
|
5258
|
+
"summary": "Designates a connection to Jira Cloud."
|
|
5259
|
+
},
|
|
5260
|
+
"immutable": true,
|
|
5261
|
+
"locationInModule": {
|
|
5262
|
+
"filename": "lib/connection.ts",
|
|
5263
|
+
"line": 96
|
|
5264
|
+
},
|
|
5265
|
+
"name": "JIRACLOUD",
|
|
5266
|
+
"static": true,
|
|
5267
|
+
"type": {
|
|
5268
|
+
"fqn": "@aws-cdk/aws-glue-alpha.ConnectionType"
|
|
5269
|
+
}
|
|
5270
|
+
},
|
|
5109
5271
|
{
|
|
5110
5272
|
"const": true,
|
|
5111
5273
|
"docs": {
|
|
@@ -5123,6 +5285,23 @@
|
|
|
5123
5285
|
"fqn": "@aws-cdk/aws-glue-alpha.ConnectionType"
|
|
5124
5286
|
}
|
|
5125
5287
|
},
|
|
5288
|
+
{
|
|
5289
|
+
"const": true,
|
|
5290
|
+
"docs": {
|
|
5291
|
+
"stability": "experimental",
|
|
5292
|
+
"summary": "Designates a connection to Adobe Marketo Engage."
|
|
5293
|
+
},
|
|
5294
|
+
"immutable": true,
|
|
5295
|
+
"locationInModule": {
|
|
5296
|
+
"filename": "lib/connection.ts",
|
|
5297
|
+
"line": 101
|
|
5298
|
+
},
|
|
5299
|
+
"name": "MARKETO",
|
|
5300
|
+
"static": true,
|
|
5301
|
+
"type": {
|
|
5302
|
+
"fqn": "@aws-cdk/aws-glue-alpha.ConnectionType"
|
|
5303
|
+
}
|
|
5304
|
+
},
|
|
5126
5305
|
{
|
|
5127
5306
|
"const": true,
|
|
5128
5307
|
"docs": {
|
|
@@ -5132,7 +5311,7 @@
|
|
|
5132
5311
|
"immutable": true,
|
|
5133
5312
|
"locationInModule": {
|
|
5134
5313
|
"filename": "lib/connection.ts",
|
|
5135
|
-
"line":
|
|
5314
|
+
"line": 50
|
|
5136
5315
|
},
|
|
5137
5316
|
"name": "MARKETPLACE",
|
|
5138
5317
|
"static": true,
|
|
@@ -5157,6 +5336,23 @@
|
|
|
5157
5336
|
"fqn": "@aws-cdk/aws-glue-alpha.ConnectionType"
|
|
5158
5337
|
}
|
|
5159
5338
|
},
|
|
5339
|
+
{
|
|
5340
|
+
"const": true,
|
|
5341
|
+
"docs": {
|
|
5342
|
+
"stability": "experimental",
|
|
5343
|
+
"summary": "Designates a connection to Oracle NetSuite."
|
|
5344
|
+
},
|
|
5345
|
+
"immutable": true,
|
|
5346
|
+
"locationInModule": {
|
|
5347
|
+
"filename": "lib/connection.ts",
|
|
5348
|
+
"line": 106
|
|
5349
|
+
},
|
|
5350
|
+
"name": "NETSUITEERP",
|
|
5351
|
+
"static": true,
|
|
5352
|
+
"type": {
|
|
5353
|
+
"fqn": "@aws-cdk/aws-glue-alpha.ConnectionType"
|
|
5354
|
+
}
|
|
5355
|
+
},
|
|
5160
5356
|
{
|
|
5161
5357
|
"const": true,
|
|
5162
5358
|
"docs": {
|
|
@@ -5166,7 +5362,7 @@
|
|
|
5166
5362
|
"immutable": true,
|
|
5167
5363
|
"locationInModule": {
|
|
5168
5364
|
"filename": "lib/connection.ts",
|
|
5169
|
-
"line":
|
|
5365
|
+
"line": 44
|
|
5170
5366
|
},
|
|
5171
5367
|
"name": "NETWORK",
|
|
5172
5368
|
"static": true,
|
|
@@ -5174,6 +5370,210 @@
|
|
|
5174
5370
|
"fqn": "@aws-cdk/aws-glue-alpha.ConnectionType"
|
|
5175
5371
|
}
|
|
5176
5372
|
},
|
|
5373
|
+
{
|
|
5374
|
+
"const": true,
|
|
5375
|
+
"docs": {
|
|
5376
|
+
"stability": "experimental",
|
|
5377
|
+
"summary": "Designates a connection to Salesforce using OAuth authentication."
|
|
5378
|
+
},
|
|
5379
|
+
"immutable": true,
|
|
5380
|
+
"locationInModule": {
|
|
5381
|
+
"filename": "lib/connection.ts",
|
|
5382
|
+
"line": 111
|
|
5383
|
+
},
|
|
5384
|
+
"name": "SALESFORCE",
|
|
5385
|
+
"static": true,
|
|
5386
|
+
"type": {
|
|
5387
|
+
"fqn": "@aws-cdk/aws-glue-alpha.ConnectionType"
|
|
5388
|
+
}
|
|
5389
|
+
},
|
|
5390
|
+
{
|
|
5391
|
+
"const": true,
|
|
5392
|
+
"docs": {
|
|
5393
|
+
"stability": "experimental",
|
|
5394
|
+
"summary": "Designates a connection to Salesforce Marketing Cloud."
|
|
5395
|
+
},
|
|
5396
|
+
"immutable": true,
|
|
5397
|
+
"locationInModule": {
|
|
5398
|
+
"filename": "lib/connection.ts",
|
|
5399
|
+
"line": 116
|
|
5400
|
+
},
|
|
5401
|
+
"name": "SALESFORCEMARKETINGCLOUD",
|
|
5402
|
+
"static": true,
|
|
5403
|
+
"type": {
|
|
5404
|
+
"fqn": "@aws-cdk/aws-glue-alpha.ConnectionType"
|
|
5405
|
+
}
|
|
5406
|
+
},
|
|
5407
|
+
{
|
|
5408
|
+
"const": true,
|
|
5409
|
+
"docs": {
|
|
5410
|
+
"stability": "experimental",
|
|
5411
|
+
"summary": "Designates a connection to Salesforce Marketing Cloud Account Engagement (MCAE)."
|
|
5412
|
+
},
|
|
5413
|
+
"immutable": true,
|
|
5414
|
+
"locationInModule": {
|
|
5415
|
+
"filename": "lib/connection.ts",
|
|
5416
|
+
"line": 121
|
|
5417
|
+
},
|
|
5418
|
+
"name": "SALESFORCEPARDOT",
|
|
5419
|
+
"static": true,
|
|
5420
|
+
"type": {
|
|
5421
|
+
"fqn": "@aws-cdk/aws-glue-alpha.ConnectionType"
|
|
5422
|
+
}
|
|
5423
|
+
},
|
|
5424
|
+
{
|
|
5425
|
+
"const": true,
|
|
5426
|
+
"docs": {
|
|
5427
|
+
"stability": "experimental",
|
|
5428
|
+
"summary": "Designates a connection to SAP OData."
|
|
5429
|
+
},
|
|
5430
|
+
"immutable": true,
|
|
5431
|
+
"locationInModule": {
|
|
5432
|
+
"filename": "lib/connection.ts",
|
|
5433
|
+
"line": 126
|
|
5434
|
+
},
|
|
5435
|
+
"name": "SAPODATA",
|
|
5436
|
+
"static": true,
|
|
5437
|
+
"type": {
|
|
5438
|
+
"fqn": "@aws-cdk/aws-glue-alpha.ConnectionType"
|
|
5439
|
+
}
|
|
5440
|
+
},
|
|
5441
|
+
{
|
|
5442
|
+
"const": true,
|
|
5443
|
+
"docs": {
|
|
5444
|
+
"stability": "experimental",
|
|
5445
|
+
"summary": "Designates a connection to ServiceNow."
|
|
5446
|
+
},
|
|
5447
|
+
"immutable": true,
|
|
5448
|
+
"locationInModule": {
|
|
5449
|
+
"filename": "lib/connection.ts",
|
|
5450
|
+
"line": 131
|
|
5451
|
+
},
|
|
5452
|
+
"name": "SERVICENOW",
|
|
5453
|
+
"static": true,
|
|
5454
|
+
"type": {
|
|
5455
|
+
"fqn": "@aws-cdk/aws-glue-alpha.ConnectionType"
|
|
5456
|
+
}
|
|
5457
|
+
},
|
|
5458
|
+
{
|
|
5459
|
+
"const": true,
|
|
5460
|
+
"docs": {
|
|
5461
|
+
"stability": "experimental",
|
|
5462
|
+
"summary": "Designates a connection to Slack."
|
|
5463
|
+
},
|
|
5464
|
+
"immutable": true,
|
|
5465
|
+
"locationInModule": {
|
|
5466
|
+
"filename": "lib/connection.ts",
|
|
5467
|
+
"line": 136
|
|
5468
|
+
},
|
|
5469
|
+
"name": "SLACK",
|
|
5470
|
+
"static": true,
|
|
5471
|
+
"type": {
|
|
5472
|
+
"fqn": "@aws-cdk/aws-glue-alpha.ConnectionType"
|
|
5473
|
+
}
|
|
5474
|
+
},
|
|
5475
|
+
{
|
|
5476
|
+
"const": true,
|
|
5477
|
+
"docs": {
|
|
5478
|
+
"stability": "experimental",
|
|
5479
|
+
"summary": "Designates a connection to Snapchat Ads."
|
|
5480
|
+
},
|
|
5481
|
+
"immutable": true,
|
|
5482
|
+
"locationInModule": {
|
|
5483
|
+
"filename": "lib/connection.ts",
|
|
5484
|
+
"line": 141
|
|
5485
|
+
},
|
|
5486
|
+
"name": "SNAPCHATADS",
|
|
5487
|
+
"static": true,
|
|
5488
|
+
"type": {
|
|
5489
|
+
"fqn": "@aws-cdk/aws-glue-alpha.ConnectionType"
|
|
5490
|
+
}
|
|
5491
|
+
},
|
|
5492
|
+
{
|
|
5493
|
+
"const": true,
|
|
5494
|
+
"docs": {
|
|
5495
|
+
"stability": "experimental",
|
|
5496
|
+
"summary": "Designates a connection to Stripe."
|
|
5497
|
+
},
|
|
5498
|
+
"immutable": true,
|
|
5499
|
+
"locationInModule": {
|
|
5500
|
+
"filename": "lib/connection.ts",
|
|
5501
|
+
"line": 146
|
|
5502
|
+
},
|
|
5503
|
+
"name": "STRIPE",
|
|
5504
|
+
"static": true,
|
|
5505
|
+
"type": {
|
|
5506
|
+
"fqn": "@aws-cdk/aws-glue-alpha.ConnectionType"
|
|
5507
|
+
}
|
|
5508
|
+
},
|
|
5509
|
+
{
|
|
5510
|
+
"const": true,
|
|
5511
|
+
"docs": {
|
|
5512
|
+
"stability": "experimental",
|
|
5513
|
+
"summary": "Designates a connection used for view validation by Amazon Athena."
|
|
5514
|
+
},
|
|
5515
|
+
"immutable": true,
|
|
5516
|
+
"locationInModule": {
|
|
5517
|
+
"filename": "lib/connection.ts",
|
|
5518
|
+
"line": 39
|
|
5519
|
+
},
|
|
5520
|
+
"name": "VIEW_VALIDATION_ATHENA",
|
|
5521
|
+
"static": true,
|
|
5522
|
+
"type": {
|
|
5523
|
+
"fqn": "@aws-cdk/aws-glue-alpha.ConnectionType"
|
|
5524
|
+
}
|
|
5525
|
+
},
|
|
5526
|
+
{
|
|
5527
|
+
"const": true,
|
|
5528
|
+
"docs": {
|
|
5529
|
+
"stability": "experimental",
|
|
5530
|
+
"summary": "Designates a connection used for view validation by Amazon Redshift."
|
|
5531
|
+
},
|
|
5532
|
+
"immutable": true,
|
|
5533
|
+
"locationInModule": {
|
|
5534
|
+
"filename": "lib/connection.ts",
|
|
5535
|
+
"line": 34
|
|
5536
|
+
},
|
|
5537
|
+
"name": "VIEW_VALIDATION_REDSHIFT",
|
|
5538
|
+
"static": true,
|
|
5539
|
+
"type": {
|
|
5540
|
+
"fqn": "@aws-cdk/aws-glue-alpha.ConnectionType"
|
|
5541
|
+
}
|
|
5542
|
+
},
|
|
5543
|
+
{
|
|
5544
|
+
"const": true,
|
|
5545
|
+
"docs": {
|
|
5546
|
+
"stability": "experimental",
|
|
5547
|
+
"summary": "Designates a connection to Zendesk."
|
|
5548
|
+
},
|
|
5549
|
+
"immutable": true,
|
|
5550
|
+
"locationInModule": {
|
|
5551
|
+
"filename": "lib/connection.ts",
|
|
5552
|
+
"line": 151
|
|
5553
|
+
},
|
|
5554
|
+
"name": "ZENDESK",
|
|
5555
|
+
"static": true,
|
|
5556
|
+
"type": {
|
|
5557
|
+
"fqn": "@aws-cdk/aws-glue-alpha.ConnectionType"
|
|
5558
|
+
}
|
|
5559
|
+
},
|
|
5560
|
+
{
|
|
5561
|
+
"const": true,
|
|
5562
|
+
"docs": {
|
|
5563
|
+
"stability": "experimental",
|
|
5564
|
+
"summary": "Designates a connection to Zoho CRM."
|
|
5565
|
+
},
|
|
5566
|
+
"immutable": true,
|
|
5567
|
+
"locationInModule": {
|
|
5568
|
+
"filename": "lib/connection.ts",
|
|
5569
|
+
"line": 156
|
|
5570
|
+
},
|
|
5571
|
+
"name": "ZOHOCRM",
|
|
5572
|
+
"static": true,
|
|
5573
|
+
"type": {
|
|
5574
|
+
"fqn": "@aws-cdk/aws-glue-alpha.ConnectionType"
|
|
5575
|
+
}
|
|
5576
|
+
},
|
|
5177
5577
|
{
|
|
5178
5578
|
"docs": {
|
|
5179
5579
|
"stability": "experimental",
|
|
@@ -5182,7 +5582,7 @@
|
|
|
5182
5582
|
"immutable": true,
|
|
5183
5583
|
"locationInModule": {
|
|
5184
5584
|
"filename": "lib/connection.ts",
|
|
5185
|
-
"line":
|
|
5585
|
+
"line": 161
|
|
5186
5586
|
},
|
|
5187
5587
|
"name": "name",
|
|
5188
5588
|
"type": {
|
|
@@ -6599,7 +6999,7 @@
|
|
|
6599
6999
|
"see": "https://docs.aws.amazon.com/glue/latest/dg/add-job.html.\n\nIf you need to use a GlueVersion that doesn't exist as a static member, you\ncan instantiate a `GlueVersion` object, e.g: `GlueVersion.of('1.5')`.",
|
|
6600
7000
|
"stability": "experimental",
|
|
6601
7001
|
"summary": "AWS Glue version determines the versions of Apache Spark and Python that are available to the job.",
|
|
6602
|
-
"example": "new glue.Job(this, 'EnableRunQueuing', {\n jobName: 'EtlJobWithRunQueuing',\n executable: glue.JobExecutable.pythonEtl({\n glueVersion: glue.GlueVersion.
|
|
7002
|
+
"example": "new glue.Job(this, 'EnableRunQueuing', {\n jobName: 'EtlJobWithRunQueuing',\n executable: glue.JobExecutable.pythonEtl({\n glueVersion: glue.GlueVersion.V5_0,\n pythonVersion: glue.PythonVersion.THREE,\n script: glue.Code.fromAsset(path.join(__dirname, 'job-script', 'hello_world.py')),\n }),\n jobRunQueuingEnabled: true,\n});",
|
|
6603
7003
|
"custom": {
|
|
6604
7004
|
"exampleMetadata": "infused"
|
|
6605
7005
|
}
|
|
@@ -6618,7 +7018,7 @@
|
|
|
6618
7018
|
},
|
|
6619
7019
|
"locationInModule": {
|
|
6620
7020
|
"filename": "lib/job-executable.ts",
|
|
6621
|
-
"line":
|
|
7021
|
+
"line": 49
|
|
6622
7022
|
},
|
|
6623
7023
|
"name": "of",
|
|
6624
7024
|
"parameters": [
|
|
@@ -6645,13 +7045,14 @@
|
|
|
6645
7045
|
{
|
|
6646
7046
|
"const": true,
|
|
6647
7047
|
"docs": {
|
|
6648
|
-
"
|
|
7048
|
+
"deprecated": "Reached end of support",
|
|
7049
|
+
"stability": "deprecated",
|
|
6649
7050
|
"summary": "Glue version using Spark 2.2.1 and Python 2.7."
|
|
6650
7051
|
},
|
|
6651
7052
|
"immutable": true,
|
|
6652
7053
|
"locationInModule": {
|
|
6653
7054
|
"filename": "lib/job-executable.ts",
|
|
6654
|
-
"line":
|
|
7055
|
+
"line": 16
|
|
6655
7056
|
},
|
|
6656
7057
|
"name": "V0_9",
|
|
6657
7058
|
"static": true,
|
|
@@ -6662,13 +7063,14 @@
|
|
|
6662
7063
|
{
|
|
6663
7064
|
"const": true,
|
|
6664
7065
|
"docs": {
|
|
6665
|
-
"
|
|
7066
|
+
"deprecated": "Reached end of support",
|
|
7067
|
+
"stability": "deprecated",
|
|
6666
7068
|
"summary": "Glue version using Spark 2.4.3, Python 2.7 and Python 3.6."
|
|
6667
7069
|
},
|
|
6668
7070
|
"immutable": true,
|
|
6669
7071
|
"locationInModule": {
|
|
6670
7072
|
"filename": "lib/job-executable.ts",
|
|
6671
|
-
"line":
|
|
7073
|
+
"line": 22
|
|
6672
7074
|
},
|
|
6673
7075
|
"name": "V1_0",
|
|
6674
7076
|
"static": true,
|
|
@@ -6679,13 +7081,14 @@
|
|
|
6679
7081
|
{
|
|
6680
7082
|
"const": true,
|
|
6681
7083
|
"docs": {
|
|
6682
|
-
"
|
|
7084
|
+
"deprecated": "Reached end of support",
|
|
7085
|
+
"stability": "deprecated",
|
|
6683
7086
|
"summary": "Glue version using Spark 2.4.3 and Python 3.7."
|
|
6684
7087
|
},
|
|
6685
7088
|
"immutable": true,
|
|
6686
7089
|
"locationInModule": {
|
|
6687
7090
|
"filename": "lib/job-executable.ts",
|
|
6688
|
-
"line":
|
|
7091
|
+
"line": 28
|
|
6689
7092
|
},
|
|
6690
7093
|
"name": "V2_0",
|
|
6691
7094
|
"static": true,
|
|
@@ -6702,7 +7105,7 @@
|
|
|
6702
7105
|
"immutable": true,
|
|
6703
7106
|
"locationInModule": {
|
|
6704
7107
|
"filename": "lib/job-executable.ts",
|
|
6705
|
-
"line":
|
|
7108
|
+
"line": 33
|
|
6706
7109
|
},
|
|
6707
7110
|
"name": "V3_0",
|
|
6708
7111
|
"static": true,
|
|
@@ -6719,7 +7122,7 @@
|
|
|
6719
7122
|
"immutable": true,
|
|
6720
7123
|
"locationInModule": {
|
|
6721
7124
|
"filename": "lib/job-executable.ts",
|
|
6722
|
-
"line":
|
|
7125
|
+
"line": 38
|
|
6723
7126
|
},
|
|
6724
7127
|
"name": "V4_0",
|
|
6725
7128
|
"static": true,
|
|
@@ -6727,6 +7130,23 @@
|
|
|
6727
7130
|
"fqn": "@aws-cdk/aws-glue-alpha.GlueVersion"
|
|
6728
7131
|
}
|
|
6729
7132
|
},
|
|
7133
|
+
{
|
|
7134
|
+
"const": true,
|
|
7135
|
+
"docs": {
|
|
7136
|
+
"stability": "experimental",
|
|
7137
|
+
"summary": "Glue version using Spark 3.5.2 and Python 3.11."
|
|
7138
|
+
},
|
|
7139
|
+
"immutable": true,
|
|
7140
|
+
"locationInModule": {
|
|
7141
|
+
"filename": "lib/job-executable.ts",
|
|
7142
|
+
"line": 43
|
|
7143
|
+
},
|
|
7144
|
+
"name": "V5_0",
|
|
7145
|
+
"static": true,
|
|
7146
|
+
"type": {
|
|
7147
|
+
"fqn": "@aws-cdk/aws-glue-alpha.GlueVersion"
|
|
7148
|
+
}
|
|
7149
|
+
},
|
|
6730
7150
|
{
|
|
6731
7151
|
"docs": {
|
|
6732
7152
|
"stability": "experimental",
|
|
@@ -6735,7 +7155,7 @@
|
|
|
6735
7155
|
"immutable": true,
|
|
6736
7156
|
"locationInModule": {
|
|
6737
7157
|
"filename": "lib/job-executable.ts",
|
|
6738
|
-
"line":
|
|
7158
|
+
"line": 56
|
|
6739
7159
|
},
|
|
6740
7160
|
"name": "name",
|
|
6741
7161
|
"type": {
|
|
@@ -6758,7 +7178,7 @@
|
|
|
6758
7178
|
"kind": "interface",
|
|
6759
7179
|
"locationInModule": {
|
|
6760
7180
|
"filename": "lib/connection.ts",
|
|
6761
|
-
"line":
|
|
7181
|
+
"line": 178
|
|
6762
7182
|
},
|
|
6763
7183
|
"name": "IConnection",
|
|
6764
7184
|
"properties": [
|
|
@@ -6774,7 +7194,7 @@
|
|
|
6774
7194
|
"immutable": true,
|
|
6775
7195
|
"locationInModule": {
|
|
6776
7196
|
"filename": "lib/connection.ts",
|
|
6777
|
-
"line":
|
|
7197
|
+
"line": 189
|
|
6778
7198
|
},
|
|
6779
7199
|
"name": "connectionArn",
|
|
6780
7200
|
"type": {
|
|
@@ -6793,7 +7213,7 @@
|
|
|
6793
7213
|
"immutable": true,
|
|
6794
7214
|
"locationInModule": {
|
|
6795
7215
|
"filename": "lib/connection.ts",
|
|
6796
|
-
"line":
|
|
7216
|
+
"line": 183
|
|
6797
7217
|
},
|
|
6798
7218
|
"name": "connectionName",
|
|
6799
7219
|
"type": {
|
|
@@ -7603,7 +8023,7 @@
|
|
|
7603
8023
|
"docs": {
|
|
7604
8024
|
"stability": "experimental",
|
|
7605
8025
|
"summary": "A Glue Job.",
|
|
7606
|
-
"example": "new glue.Job(this, 'EnableRunQueuing', {\n jobName: 'EtlJobWithRunQueuing',\n executable: glue.JobExecutable.pythonEtl({\n glueVersion: glue.GlueVersion.
|
|
8026
|
+
"example": "new glue.Job(this, 'EnableRunQueuing', {\n jobName: 'EtlJobWithRunQueuing',\n executable: glue.JobExecutable.pythonEtl({\n glueVersion: glue.GlueVersion.V5_0,\n pythonVersion: glue.PythonVersion.THREE,\n script: glue.Code.fromAsset(path.join(__dirname, 'job-script', 'hello_world.py')),\n }),\n jobRunQueuingEnabled: true,\n});",
|
|
7607
8027
|
"custom": {
|
|
7608
8028
|
"exampleMetadata": "infused"
|
|
7609
8029
|
}
|
|
@@ -8259,7 +8679,7 @@
|
|
|
8259
8679
|
"docs": {
|
|
8260
8680
|
"stability": "experimental",
|
|
8261
8681
|
"summary": "The executable properties related to the Glue job's GlueVersion, JobType and code.",
|
|
8262
|
-
"example": "new glue.Job(this, 'EnableRunQueuing', {\n jobName: 'EtlJobWithRunQueuing',\n executable: glue.JobExecutable.pythonEtl({\n glueVersion: glue.GlueVersion.
|
|
8682
|
+
"example": "new glue.Job(this, 'EnableRunQueuing', {\n jobName: 'EtlJobWithRunQueuing',\n executable: glue.JobExecutable.pythonEtl({\n glueVersion: glue.GlueVersion.V5_0,\n pythonVersion: glue.PythonVersion.THREE,\n script: glue.Code.fromAsset(path.join(__dirname, 'job-script', 'hello_world.py')),\n }),\n jobRunQueuingEnabled: true,\n});",
|
|
8263
8683
|
"custom": {
|
|
8264
8684
|
"exampleMetadata": "infused"
|
|
8265
8685
|
}
|
|
@@ -8268,7 +8688,7 @@
|
|
|
8268
8688
|
"kind": "class",
|
|
8269
8689
|
"locationInModule": {
|
|
8270
8690
|
"filename": "lib/job-executable.ts",
|
|
8271
|
-
"line":
|
|
8691
|
+
"line": 291
|
|
8272
8692
|
},
|
|
8273
8693
|
"methods": [
|
|
8274
8694
|
{
|
|
@@ -8278,7 +8698,7 @@
|
|
|
8278
8698
|
},
|
|
8279
8699
|
"locationInModule": {
|
|
8280
8700
|
"filename": "lib/job-executable.ts",
|
|
8281
|
-
"line":
|
|
8701
|
+
"line": 376
|
|
8282
8702
|
},
|
|
8283
8703
|
"name": "of",
|
|
8284
8704
|
"parameters": [
|
|
@@ -8306,7 +8726,7 @@
|
|
|
8306
8726
|
},
|
|
8307
8727
|
"locationInModule": {
|
|
8308
8728
|
"filename": "lib/job-executable.ts",
|
|
8309
|
-
"line":
|
|
8729
|
+
"line": 324
|
|
8310
8730
|
},
|
|
8311
8731
|
"name": "pythonEtl",
|
|
8312
8732
|
"parameters": [
|
|
@@ -8334,7 +8754,7 @@
|
|
|
8334
8754
|
},
|
|
8335
8755
|
"locationInModule": {
|
|
8336
8756
|
"filename": "lib/job-executable.ts",
|
|
8337
|
-
"line":
|
|
8757
|
+
"line": 363
|
|
8338
8758
|
},
|
|
8339
8759
|
"name": "pythonRay",
|
|
8340
8760
|
"parameters": [
|
|
@@ -8362,7 +8782,7 @@
|
|
|
8362
8782
|
},
|
|
8363
8783
|
"locationInModule": {
|
|
8364
8784
|
"filename": "lib/job-executable.ts",
|
|
8365
|
-
"line":
|
|
8785
|
+
"line": 350
|
|
8366
8786
|
},
|
|
8367
8787
|
"name": "pythonShell",
|
|
8368
8788
|
"parameters": [
|
|
@@ -8390,7 +8810,7 @@
|
|
|
8390
8810
|
},
|
|
8391
8811
|
"locationInModule": {
|
|
8392
8812
|
"filename": "lib/job-executable.ts",
|
|
8393
|
-
"line":
|
|
8813
|
+
"line": 337
|
|
8394
8814
|
},
|
|
8395
8815
|
"name": "pythonStreaming",
|
|
8396
8816
|
"parameters": [
|
|
@@ -8418,7 +8838,7 @@
|
|
|
8418
8838
|
},
|
|
8419
8839
|
"locationInModule": {
|
|
8420
8840
|
"filename": "lib/job-executable.ts",
|
|
8421
|
-
"line":
|
|
8841
|
+
"line": 298
|
|
8422
8842
|
},
|
|
8423
8843
|
"name": "scalaEtl",
|
|
8424
8844
|
"parameters": [
|
|
@@ -8446,7 +8866,7 @@
|
|
|
8446
8866
|
},
|
|
8447
8867
|
"locationInModule": {
|
|
8448
8868
|
"filename": "lib/job-executable.ts",
|
|
8449
|
-
"line":
|
|
8869
|
+
"line": 311
|
|
8450
8870
|
},
|
|
8451
8871
|
"name": "scalaStreaming",
|
|
8452
8872
|
"parameters": [
|
|
@@ -8474,7 +8894,7 @@
|
|
|
8474
8894
|
},
|
|
8475
8895
|
"locationInModule": {
|
|
8476
8896
|
"filename": "lib/job-executable.ts",
|
|
8477
|
-
"line":
|
|
8897
|
+
"line": 428
|
|
8478
8898
|
},
|
|
8479
8899
|
"name": "bind",
|
|
8480
8900
|
"returns": {
|
|
@@ -8502,7 +8922,7 @@
|
|
|
8502
8922
|
"kind": "interface",
|
|
8503
8923
|
"locationInModule": {
|
|
8504
8924
|
"filename": "lib/job-executable.ts",
|
|
8505
|
-
"line":
|
|
8925
|
+
"line": 436
|
|
8506
8926
|
},
|
|
8507
8927
|
"name": "JobExecutableConfig",
|
|
8508
8928
|
"properties": [
|
|
@@ -8516,7 +8936,7 @@
|
|
|
8516
8936
|
"immutable": true,
|
|
8517
8937
|
"locationInModule": {
|
|
8518
8938
|
"filename": "lib/job-executable.ts",
|
|
8519
|
-
"line":
|
|
8939
|
+
"line": 442
|
|
8520
8940
|
},
|
|
8521
8941
|
"name": "glueVersion",
|
|
8522
8942
|
"type": {
|
|
@@ -8534,7 +8954,7 @@
|
|
|
8534
8954
|
"immutable": true,
|
|
8535
8955
|
"locationInModule": {
|
|
8536
8956
|
"filename": "lib/job-executable.ts",
|
|
8537
|
-
"line":
|
|
8957
|
+
"line": 450
|
|
8538
8958
|
},
|
|
8539
8959
|
"name": "language",
|
|
8540
8960
|
"type": {
|
|
@@ -8550,7 +8970,7 @@
|
|
|
8550
8970
|
"immutable": true,
|
|
8551
8971
|
"locationInModule": {
|
|
8552
8972
|
"filename": "lib/job-executable.ts",
|
|
8553
|
-
"line":
|
|
8973
|
+
"line": 474
|
|
8554
8974
|
},
|
|
8555
8975
|
"name": "script",
|
|
8556
8976
|
"type": {
|
|
@@ -8566,7 +8986,7 @@
|
|
|
8566
8986
|
"immutable": true,
|
|
8567
8987
|
"locationInModule": {
|
|
8568
8988
|
"filename": "lib/job-executable.ts",
|
|
8569
|
-
"line":
|
|
8989
|
+
"line": 455
|
|
8570
8990
|
},
|
|
8571
8991
|
"name": "type",
|
|
8572
8992
|
"type": {
|
|
@@ -8585,7 +9005,7 @@
|
|
|
8585
9005
|
"immutable": true,
|
|
8586
9006
|
"locationInModule": {
|
|
8587
9007
|
"filename": "lib/job-executable.ts",
|
|
8588
|
-
"line":
|
|
9008
|
+
"line": 484
|
|
8589
9009
|
},
|
|
8590
9010
|
"name": "className",
|
|
8591
9011
|
"optional": true,
|
|
@@ -8605,7 +9025,7 @@
|
|
|
8605
9025
|
"immutable": true,
|
|
8606
9026
|
"locationInModule": {
|
|
8607
9027
|
"filename": "lib/job-executable.ts",
|
|
8608
|
-
"line":
|
|
9028
|
+
"line": 524
|
|
8609
9029
|
},
|
|
8610
9030
|
"name": "extraFiles",
|
|
8611
9031
|
"optional": true,
|
|
@@ -8629,7 +9049,7 @@
|
|
|
8629
9049
|
"immutable": true,
|
|
8630
9050
|
"locationInModule": {
|
|
8631
9051
|
"filename": "lib/job-executable.ts",
|
|
8632
|
-
"line":
|
|
9052
|
+
"line": 494
|
|
8633
9053
|
},
|
|
8634
9054
|
"name": "extraJars",
|
|
8635
9055
|
"optional": true,
|
|
@@ -8654,7 +9074,7 @@
|
|
|
8654
9074
|
"immutable": true,
|
|
8655
9075
|
"locationInModule": {
|
|
8656
9076
|
"filename": "lib/job-executable.ts",
|
|
8657
|
-
"line":
|
|
9077
|
+
"line": 534
|
|
8658
9078
|
},
|
|
8659
9079
|
"name": "extraJarsFirst",
|
|
8660
9080
|
"optional": true,
|
|
@@ -8674,7 +9094,7 @@
|
|
|
8674
9094
|
"immutable": true,
|
|
8675
9095
|
"locationInModule": {
|
|
8676
9096
|
"filename": "lib/job-executable.ts",
|
|
8677
|
-
"line":
|
|
9097
|
+
"line": 504
|
|
8678
9098
|
},
|
|
8679
9099
|
"name": "extraPythonFiles",
|
|
8680
9100
|
"optional": true,
|
|
@@ -8697,7 +9117,7 @@
|
|
|
8697
9117
|
"immutable": true,
|
|
8698
9118
|
"locationInModule": {
|
|
8699
9119
|
"filename": "lib/job-executable.ts",
|
|
8700
|
-
"line":
|
|
9120
|
+
"line": 462
|
|
8701
9121
|
},
|
|
8702
9122
|
"name": "pythonVersion",
|
|
8703
9123
|
"optional": true,
|
|
@@ -8715,7 +9135,7 @@
|
|
|
8715
9135
|
"immutable": true,
|
|
8716
9136
|
"locationInModule": {
|
|
8717
9137
|
"filename": "lib/job-executable.ts",
|
|
8718
|
-
"line":
|
|
9138
|
+
"line": 469
|
|
8719
9139
|
},
|
|
8720
9140
|
"name": "runtime",
|
|
8721
9141
|
"optional": true,
|
|
@@ -8735,7 +9155,7 @@
|
|
|
8735
9155
|
"immutable": true,
|
|
8736
9156
|
"locationInModule": {
|
|
8737
9157
|
"filename": "lib/job-executable.ts",
|
|
8738
|
-
"line":
|
|
9158
|
+
"line": 514
|
|
8739
9159
|
},
|
|
8740
9160
|
"name": "s3PythonModules",
|
|
8741
9161
|
"optional": true,
|
|
@@ -8761,7 +9181,7 @@
|
|
|
8761
9181
|
"kind": "enum",
|
|
8762
9182
|
"locationInModule": {
|
|
8763
9183
|
"filename": "lib/job-executable.ts",
|
|
8764
|
-
"line":
|
|
9184
|
+
"line": 66
|
|
8765
9185
|
},
|
|
8766
9186
|
"members": [
|
|
8767
9187
|
{
|
|
@@ -8788,7 +9208,7 @@
|
|
|
8788
9208
|
"docs": {
|
|
8789
9209
|
"stability": "experimental",
|
|
8790
9210
|
"summary": "Construction properties for `Job`.",
|
|
8791
|
-
"example": "new glue.Job(this, 'EnableRunQueuing', {\n jobName: 'EtlJobWithRunQueuing',\n executable: glue.JobExecutable.pythonEtl({\n glueVersion: glue.GlueVersion.
|
|
9211
|
+
"example": "new glue.Job(this, 'EnableRunQueuing', {\n jobName: 'EtlJobWithRunQueuing',\n executable: glue.JobExecutable.pythonEtl({\n glueVersion: glue.GlueVersion.V5_0,\n pythonVersion: glue.PythonVersion.THREE,\n script: glue.Code.fromAsset(path.join(__dirname, 'job-script', 'hello_world.py')),\n }),\n jobRunQueuingEnabled: true,\n});",
|
|
8792
9212
|
"custom": {
|
|
8793
9213
|
"exampleMetadata": "infused"
|
|
8794
9214
|
}
|
|
@@ -9271,7 +9691,7 @@
|
|
|
9271
9691
|
"kind": "class",
|
|
9272
9692
|
"locationInModule": {
|
|
9273
9693
|
"filename": "lib/job-executable.ts",
|
|
9274
|
-
"line":
|
|
9694
|
+
"line": 132
|
|
9275
9695
|
},
|
|
9276
9696
|
"methods": [
|
|
9277
9697
|
{
|
|
@@ -9281,7 +9701,7 @@
|
|
|
9281
9701
|
},
|
|
9282
9702
|
"locationInModule": {
|
|
9283
9703
|
"filename": "lib/job-executable.ts",
|
|
9284
|
-
"line":
|
|
9704
|
+
"line": 157
|
|
9285
9705
|
},
|
|
9286
9706
|
"name": "of",
|
|
9287
9707
|
"parameters": [
|
|
@@ -9314,7 +9734,7 @@
|
|
|
9314
9734
|
"immutable": true,
|
|
9315
9735
|
"locationInModule": {
|
|
9316
9736
|
"filename": "lib/job-executable.ts",
|
|
9317
|
-
"line":
|
|
9737
|
+
"line": 136
|
|
9318
9738
|
},
|
|
9319
9739
|
"name": "ETL",
|
|
9320
9740
|
"static": true,
|
|
@@ -9331,7 +9751,7 @@
|
|
|
9331
9751
|
"immutable": true,
|
|
9332
9752
|
"locationInModule": {
|
|
9333
9753
|
"filename": "lib/job-executable.ts",
|
|
9334
|
-
"line":
|
|
9754
|
+
"line": 146
|
|
9335
9755
|
},
|
|
9336
9756
|
"name": "PYTHON_SHELL",
|
|
9337
9757
|
"static": true,
|
|
@@ -9348,7 +9768,7 @@
|
|
|
9348
9768
|
"immutable": true,
|
|
9349
9769
|
"locationInModule": {
|
|
9350
9770
|
"filename": "lib/job-executable.ts",
|
|
9351
|
-
"line":
|
|
9771
|
+
"line": 151
|
|
9352
9772
|
},
|
|
9353
9773
|
"name": "RAY",
|
|
9354
9774
|
"static": true,
|
|
@@ -9365,7 +9785,7 @@
|
|
|
9365
9785
|
"immutable": true,
|
|
9366
9786
|
"locationInModule": {
|
|
9367
9787
|
"filename": "lib/job-executable.ts",
|
|
9368
|
-
"line":
|
|
9788
|
+
"line": 141
|
|
9369
9789
|
},
|
|
9370
9790
|
"name": "STREAMING",
|
|
9371
9791
|
"static": true,
|
|
@@ -9381,7 +9801,7 @@
|
|
|
9381
9801
|
"immutable": true,
|
|
9382
9802
|
"locationInModule": {
|
|
9383
9803
|
"filename": "lib/job-executable.ts",
|
|
9384
|
-
"line":
|
|
9804
|
+
"line": 164
|
|
9385
9805
|
},
|
|
9386
9806
|
"name": "name",
|
|
9387
9807
|
"type": {
|
|
@@ -9693,7 +10113,7 @@
|
|
|
9693
10113
|
"docs": {
|
|
9694
10114
|
"stability": "experimental",
|
|
9695
10115
|
"summary": "Props for creating a Python Ray job executable.",
|
|
9696
|
-
"example": "new glue.Job(this, 'RayJob', {\n executable: glue.JobExecutable.pythonRay({\n glueVersion: glue.GlueVersion.
|
|
10116
|
+
"example": "new glue.Job(this, 'RayJob', {\n executable: glue.JobExecutable.pythonRay({\n glueVersion: glue.GlueVersion.V5_0,\n pythonVersion: glue.PythonVersion.THREE_NINE,\n runtime: glue.Runtime.RAY_TWO_FOUR,\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});",
|
|
9697
10117
|
"custom": {
|
|
9698
10118
|
"exampleMetadata": "infused"
|
|
9699
10119
|
}
|
|
@@ -9702,7 +10122,7 @@
|
|
|
9702
10122
|
"kind": "interface",
|
|
9703
10123
|
"locationInModule": {
|
|
9704
10124
|
"filename": "lib/job-executable.ts",
|
|
9705
|
-
"line":
|
|
10125
|
+
"line": 286
|
|
9706
10126
|
},
|
|
9707
10127
|
"name": "PythonRayExecutableProps",
|
|
9708
10128
|
"properties": [
|
|
@@ -9716,7 +10136,7 @@
|
|
|
9716
10136
|
"immutable": true,
|
|
9717
10137
|
"locationInModule": {
|
|
9718
10138
|
"filename": "lib/job-executable.ts",
|
|
9719
|
-
"line":
|
|
10139
|
+
"line": 218
|
|
9720
10140
|
},
|
|
9721
10141
|
"name": "glueVersion",
|
|
9722
10142
|
"type": {
|
|
@@ -9732,7 +10152,7 @@
|
|
|
9732
10152
|
"immutable": true,
|
|
9733
10153
|
"locationInModule": {
|
|
9734
10154
|
"filename": "lib/job-executable.ts",
|
|
9735
|
-
"line":
|
|
10155
|
+
"line": 193
|
|
9736
10156
|
},
|
|
9737
10157
|
"name": "pythonVersion",
|
|
9738
10158
|
"type": {
|
|
@@ -9748,7 +10168,7 @@
|
|
|
9748
10168
|
"immutable": true,
|
|
9749
10169
|
"locationInModule": {
|
|
9750
10170
|
"filename": "lib/job-executable.ts",
|
|
9751
|
-
"line":
|
|
10171
|
+
"line": 223
|
|
9752
10172
|
},
|
|
9753
10173
|
"name": "script",
|
|
9754
10174
|
"type": {
|
|
@@ -9767,7 +10187,7 @@
|
|
|
9767
10187
|
"immutable": true,
|
|
9768
10188
|
"locationInModule": {
|
|
9769
10189
|
"filename": "lib/job-executable.ts",
|
|
9770
|
-
"line":
|
|
10190
|
+
"line": 234
|
|
9771
10191
|
},
|
|
9772
10192
|
"name": "extraFiles",
|
|
9773
10193
|
"optional": true,
|
|
@@ -9790,7 +10210,7 @@
|
|
|
9790
10210
|
"immutable": true,
|
|
9791
10211
|
"locationInModule": {
|
|
9792
10212
|
"filename": "lib/job-executable.ts",
|
|
9793
|
-
"line":
|
|
10213
|
+
"line": 211
|
|
9794
10214
|
},
|
|
9795
10215
|
"name": "runtime",
|
|
9796
10216
|
"optional": true,
|
|
@@ -9810,7 +10230,7 @@
|
|
|
9810
10230
|
"immutable": true,
|
|
9811
10231
|
"locationInModule": {
|
|
9812
10232
|
"filename": "lib/job-executable.ts",
|
|
9813
|
-
"line":
|
|
10233
|
+
"line": 203
|
|
9814
10234
|
},
|
|
9815
10235
|
"name": "s3PythonModules",
|
|
9816
10236
|
"optional": true,
|
|
@@ -9841,7 +10261,7 @@
|
|
|
9841
10261
|
"kind": "interface",
|
|
9842
10262
|
"locationInModule": {
|
|
9843
10263
|
"filename": "lib/job-executable.ts",
|
|
9844
|
-
"line":
|
|
10264
|
+
"line": 281
|
|
9845
10265
|
},
|
|
9846
10266
|
"name": "PythonShellExecutableProps",
|
|
9847
10267
|
"properties": [
|
|
@@ -9855,7 +10275,7 @@
|
|
|
9855
10275
|
"immutable": true,
|
|
9856
10276
|
"locationInModule": {
|
|
9857
10277
|
"filename": "lib/job-executable.ts",
|
|
9858
|
-
"line":
|
|
10278
|
+
"line": 218
|
|
9859
10279
|
},
|
|
9860
10280
|
"name": "glueVersion",
|
|
9861
10281
|
"type": {
|
|
@@ -9871,7 +10291,7 @@
|
|
|
9871
10291
|
"immutable": true,
|
|
9872
10292
|
"locationInModule": {
|
|
9873
10293
|
"filename": "lib/job-executable.ts",
|
|
9874
|
-
"line":
|
|
10294
|
+
"line": 175
|
|
9875
10295
|
},
|
|
9876
10296
|
"name": "pythonVersion",
|
|
9877
10297
|
"type": {
|
|
@@ -9887,7 +10307,7 @@
|
|
|
9887
10307
|
"immutable": true,
|
|
9888
10308
|
"locationInModule": {
|
|
9889
10309
|
"filename": "lib/job-executable.ts",
|
|
9890
|
-
"line":
|
|
10310
|
+
"line": 223
|
|
9891
10311
|
},
|
|
9892
10312
|
"name": "script",
|
|
9893
10313
|
"type": {
|
|
@@ -9906,7 +10326,7 @@
|
|
|
9906
10326
|
"immutable": true,
|
|
9907
10327
|
"locationInModule": {
|
|
9908
10328
|
"filename": "lib/job-executable.ts",
|
|
9909
|
-
"line":
|
|
10329
|
+
"line": 234
|
|
9910
10330
|
},
|
|
9911
10331
|
"name": "extraFiles",
|
|
9912
10332
|
"optional": true,
|
|
@@ -9931,7 +10351,7 @@
|
|
|
9931
10351
|
"immutable": true,
|
|
9932
10352
|
"locationInModule": {
|
|
9933
10353
|
"filename": "lib/job-executable.ts",
|
|
9934
|
-
"line":
|
|
10354
|
+
"line": 186
|
|
9935
10355
|
},
|
|
9936
10356
|
"name": "extraPythonFiles",
|
|
9937
10357
|
"optional": true,
|
|
@@ -9954,7 +10374,7 @@
|
|
|
9954
10374
|
"immutable": true,
|
|
9955
10375
|
"locationInModule": {
|
|
9956
10376
|
"filename": "lib/job-executable.ts",
|
|
9957
|
-
"line":
|
|
10377
|
+
"line": 211
|
|
9958
10378
|
},
|
|
9959
10379
|
"name": "runtime",
|
|
9960
10380
|
"optional": true,
|
|
@@ -9971,7 +10391,7 @@
|
|
|
9971
10391
|
"docs": {
|
|
9972
10392
|
"stability": "experimental",
|
|
9973
10393
|
"summary": "Props for creating a Python Spark (ETL or Streaming) job executable.",
|
|
9974
|
-
"example": "new glue.Job(this, 'EnableRunQueuing', {\n jobName: 'EtlJobWithRunQueuing',\n executable: glue.JobExecutable.pythonEtl({\n glueVersion: glue.GlueVersion.
|
|
10394
|
+
"example": "new glue.Job(this, 'EnableRunQueuing', {\n jobName: 'EtlJobWithRunQueuing',\n executable: glue.JobExecutable.pythonEtl({\n glueVersion: glue.GlueVersion.V5_0,\n pythonVersion: glue.PythonVersion.THREE,\n script: glue.Code.fromAsset(path.join(__dirname, 'job-script', 'hello_world.py')),\n }),\n jobRunQueuingEnabled: true,\n});",
|
|
9975
10395
|
"custom": {
|
|
9976
10396
|
"exampleMetadata": "infused"
|
|
9977
10397
|
}
|
|
@@ -9980,7 +10400,7 @@
|
|
|
9980
10400
|
"kind": "interface",
|
|
9981
10401
|
"locationInModule": {
|
|
9982
10402
|
"filename": "lib/job-executable.ts",
|
|
9983
|
-
"line":
|
|
10403
|
+
"line": 276
|
|
9984
10404
|
},
|
|
9985
10405
|
"name": "PythonSparkJobExecutableProps",
|
|
9986
10406
|
"properties": [
|
|
@@ -9994,7 +10414,7 @@
|
|
|
9994
10414
|
"immutable": true,
|
|
9995
10415
|
"locationInModule": {
|
|
9996
10416
|
"filename": "lib/job-executable.ts",
|
|
9997
|
-
"line":
|
|
10417
|
+
"line": 218
|
|
9998
10418
|
},
|
|
9999
10419
|
"name": "glueVersion",
|
|
10000
10420
|
"type": {
|
|
@@ -10010,7 +10430,7 @@
|
|
|
10010
10430
|
"immutable": true,
|
|
10011
10431
|
"locationInModule": {
|
|
10012
10432
|
"filename": "lib/job-executable.ts",
|
|
10013
|
-
"line":
|
|
10433
|
+
"line": 175
|
|
10014
10434
|
},
|
|
10015
10435
|
"name": "pythonVersion",
|
|
10016
10436
|
"type": {
|
|
@@ -10026,7 +10446,7 @@
|
|
|
10026
10446
|
"immutable": true,
|
|
10027
10447
|
"locationInModule": {
|
|
10028
10448
|
"filename": "lib/job-executable.ts",
|
|
10029
|
-
"line":
|
|
10449
|
+
"line": 223
|
|
10030
10450
|
},
|
|
10031
10451
|
"name": "script",
|
|
10032
10452
|
"type": {
|
|
@@ -10045,7 +10465,7 @@
|
|
|
10045
10465
|
"immutable": true,
|
|
10046
10466
|
"locationInModule": {
|
|
10047
10467
|
"filename": "lib/job-executable.ts",
|
|
10048
|
-
"line":
|
|
10468
|
+
"line": 234
|
|
10049
10469
|
},
|
|
10050
10470
|
"name": "extraFiles",
|
|
10051
10471
|
"optional": true,
|
|
@@ -10069,7 +10489,7 @@
|
|
|
10069
10489
|
"immutable": true,
|
|
10070
10490
|
"locationInModule": {
|
|
10071
10491
|
"filename": "lib/job-executable.ts",
|
|
10072
|
-
"line":
|
|
10492
|
+
"line": 247
|
|
10073
10493
|
},
|
|
10074
10494
|
"name": "extraJars",
|
|
10075
10495
|
"optional": true,
|
|
@@ -10094,7 +10514,7 @@
|
|
|
10094
10514
|
"immutable": true,
|
|
10095
10515
|
"locationInModule": {
|
|
10096
10516
|
"filename": "lib/job-executable.ts",
|
|
10097
|
-
"line":
|
|
10517
|
+
"line": 257
|
|
10098
10518
|
},
|
|
10099
10519
|
"name": "extraJarsFirst",
|
|
10100
10520
|
"optional": true,
|
|
@@ -10114,7 +10534,7 @@
|
|
|
10114
10534
|
"immutable": true,
|
|
10115
10535
|
"locationInModule": {
|
|
10116
10536
|
"filename": "lib/job-executable.ts",
|
|
10117
|
-
"line":
|
|
10537
|
+
"line": 186
|
|
10118
10538
|
},
|
|
10119
10539
|
"name": "extraPythonFiles",
|
|
10120
10540
|
"optional": true,
|
|
@@ -10137,7 +10557,7 @@
|
|
|
10137
10557
|
"immutable": true,
|
|
10138
10558
|
"locationInModule": {
|
|
10139
10559
|
"filename": "lib/job-executable.ts",
|
|
10140
|
-
"line":
|
|
10560
|
+
"line": 211
|
|
10141
10561
|
},
|
|
10142
10562
|
"name": "runtime",
|
|
10143
10563
|
"optional": true,
|
|
@@ -10153,7 +10573,7 @@
|
|
|
10153
10573
|
"docs": {
|
|
10154
10574
|
"stability": "experimental",
|
|
10155
10575
|
"summary": "Python version.",
|
|
10156
|
-
"example": "new glue.Job(this, 'EnableRunQueuing', {\n jobName: 'EtlJobWithRunQueuing',\n executable: glue.JobExecutable.pythonEtl({\n glueVersion: glue.GlueVersion.
|
|
10576
|
+
"example": "new glue.Job(this, 'EnableRunQueuing', {\n jobName: 'EtlJobWithRunQueuing',\n executable: glue.JobExecutable.pythonEtl({\n glueVersion: glue.GlueVersion.V5_0,\n pythonVersion: glue.PythonVersion.THREE,\n script: glue.Code.fromAsset(path.join(__dirname, 'job-script', 'hello_world.py')),\n }),\n jobRunQueuingEnabled: true,\n});",
|
|
10157
10577
|
"custom": {
|
|
10158
10578
|
"exampleMetadata": "infused"
|
|
10159
10579
|
}
|
|
@@ -10162,7 +10582,7 @@
|
|
|
10162
10582
|
"kind": "enum",
|
|
10163
10583
|
"locationInModule": {
|
|
10164
10584
|
"filename": "lib/job-executable.ts",
|
|
10165
|
-
"line":
|
|
10585
|
+
"line": 81
|
|
10166
10586
|
},
|
|
10167
10587
|
"members": [
|
|
10168
10588
|
{
|
|
@@ -10195,7 +10615,7 @@
|
|
|
10195
10615
|
"docs": {
|
|
10196
10616
|
"stability": "experimental",
|
|
10197
10617
|
"summary": "AWS Glue runtime determines the runtime engine of the job.",
|
|
10198
|
-
"example": "new glue.Job(this, 'RayJob', {\n executable: glue.JobExecutable.pythonRay({\n glueVersion: glue.GlueVersion.
|
|
10618
|
+
"example": "new glue.Job(this, 'RayJob', {\n executable: glue.JobExecutable.pythonRay({\n glueVersion: glue.GlueVersion.V5_0,\n pythonVersion: glue.PythonVersion.THREE_NINE,\n runtime: glue.Runtime.RAY_TWO_FOUR,\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});",
|
|
10199
10619
|
"custom": {
|
|
10200
10620
|
"exampleMetadata": "infused"
|
|
10201
10621
|
}
|
|
@@ -10204,7 +10624,7 @@
|
|
|
10204
10624
|
"kind": "class",
|
|
10205
10625
|
"locationInModule": {
|
|
10206
10626
|
"filename": "lib/job-executable.ts",
|
|
10207
|
-
"line":
|
|
10627
|
+
"line": 102
|
|
10208
10628
|
},
|
|
10209
10629
|
"methods": [
|
|
10210
10630
|
{
|
|
@@ -10214,7 +10634,7 @@
|
|
|
10214
10634
|
},
|
|
10215
10635
|
"locationInModule": {
|
|
10216
10636
|
"filename": "lib/job-executable.ts",
|
|
10217
|
-
"line":
|
|
10637
|
+
"line": 112
|
|
10218
10638
|
},
|
|
10219
10639
|
"name": "of",
|
|
10220
10640
|
"parameters": [
|
|
@@ -10247,7 +10667,7 @@
|
|
|
10247
10667
|
"immutable": true,
|
|
10248
10668
|
"locationInModule": {
|
|
10249
10669
|
"filename": "lib/job-executable.ts",
|
|
10250
|
-
"line":
|
|
10670
|
+
"line": 106
|
|
10251
10671
|
},
|
|
10252
10672
|
"name": "RAY_TWO_FOUR",
|
|
10253
10673
|
"static": true,
|
|
@@ -10263,7 +10683,7 @@
|
|
|
10263
10683
|
"immutable": true,
|
|
10264
10684
|
"locationInModule": {
|
|
10265
10685
|
"filename": "lib/job-executable.ts",
|
|
10266
|
-
"line":
|
|
10686
|
+
"line": 119
|
|
10267
10687
|
},
|
|
10268
10688
|
"name": "name",
|
|
10269
10689
|
"type": {
|
|
@@ -10833,7 +11253,7 @@
|
|
|
10833
11253
|
"docs": {
|
|
10834
11254
|
"stability": "experimental",
|
|
10835
11255
|
"summary": "Props for creating a Scala Spark (ETL or Streaming) job executable.",
|
|
10836
|
-
"example": "declare const bucket: s3.Bucket;\nnew glue.Job(this, 'ScalaSparkEtlJob', {\n executable: glue.JobExecutable.scalaEtl({\n glueVersion: glue.GlueVersion.
|
|
11256
|
+
"example": "declare const bucket: s3.Bucket;\nnew glue.Job(this, 'ScalaSparkEtlJob', {\n executable: glue.JobExecutable.scalaEtl({\n glueVersion: glue.GlueVersion.V5_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});",
|
|
10837
11257
|
"custom": {
|
|
10838
11258
|
"exampleMetadata": "infused"
|
|
10839
11259
|
}
|
|
@@ -10842,7 +11262,7 @@
|
|
|
10842
11262
|
"kind": "interface",
|
|
10843
11263
|
"locationInModule": {
|
|
10844
11264
|
"filename": "lib/job-executable.ts",
|
|
10845
|
-
"line":
|
|
11265
|
+
"line": 263
|
|
10846
11266
|
},
|
|
10847
11267
|
"name": "ScalaJobExecutableProps",
|
|
10848
11268
|
"properties": [
|
|
@@ -10857,7 +11277,7 @@
|
|
|
10857
11277
|
"immutable": true,
|
|
10858
11278
|
"locationInModule": {
|
|
10859
11279
|
"filename": "lib/job-executable.ts",
|
|
10860
|
-
"line":
|
|
11280
|
+
"line": 270
|
|
10861
11281
|
},
|
|
10862
11282
|
"name": "className",
|
|
10863
11283
|
"type": {
|
|
@@ -10874,7 +11294,7 @@
|
|
|
10874
11294
|
"immutable": true,
|
|
10875
11295
|
"locationInModule": {
|
|
10876
11296
|
"filename": "lib/job-executable.ts",
|
|
10877
|
-
"line":
|
|
11297
|
+
"line": 218
|
|
10878
11298
|
},
|
|
10879
11299
|
"name": "glueVersion",
|
|
10880
11300
|
"type": {
|
|
@@ -10890,7 +11310,7 @@
|
|
|
10890
11310
|
"immutable": true,
|
|
10891
11311
|
"locationInModule": {
|
|
10892
11312
|
"filename": "lib/job-executable.ts",
|
|
10893
|
-
"line":
|
|
11313
|
+
"line": 223
|
|
10894
11314
|
},
|
|
10895
11315
|
"name": "script",
|
|
10896
11316
|
"type": {
|
|
@@ -10909,7 +11329,7 @@
|
|
|
10909
11329
|
"immutable": true,
|
|
10910
11330
|
"locationInModule": {
|
|
10911
11331
|
"filename": "lib/job-executable.ts",
|
|
10912
|
-
"line":
|
|
11332
|
+
"line": 234
|
|
10913
11333
|
},
|
|
10914
11334
|
"name": "extraFiles",
|
|
10915
11335
|
"optional": true,
|
|
@@ -10933,7 +11353,7 @@
|
|
|
10933
11353
|
"immutable": true,
|
|
10934
11354
|
"locationInModule": {
|
|
10935
11355
|
"filename": "lib/job-executable.ts",
|
|
10936
|
-
"line":
|
|
11356
|
+
"line": 247
|
|
10937
11357
|
},
|
|
10938
11358
|
"name": "extraJars",
|
|
10939
11359
|
"optional": true,
|
|
@@ -10958,7 +11378,7 @@
|
|
|
10958
11378
|
"immutable": true,
|
|
10959
11379
|
"locationInModule": {
|
|
10960
11380
|
"filename": "lib/job-executable.ts",
|
|
10961
|
-
"line":
|
|
11381
|
+
"line": 257
|
|
10962
11382
|
},
|
|
10963
11383
|
"name": "extraJarsFirst",
|
|
10964
11384
|
"optional": true,
|
|
@@ -10976,7 +11396,7 @@
|
|
|
10976
11396
|
"immutable": true,
|
|
10977
11397
|
"locationInModule": {
|
|
10978
11398
|
"filename": "lib/job-executable.ts",
|
|
10979
|
-
"line":
|
|
11399
|
+
"line": 211
|
|
10980
11400
|
},
|
|
10981
11401
|
"name": "runtime",
|
|
10982
11402
|
"optional": true,
|
|
@@ -13754,7 +14174,7 @@
|
|
|
13754
14174
|
"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')`.",
|
|
13755
14175
|
"stability": "experimental",
|
|
13756
14176
|
"summary": "The type of predefined worker that is allocated when a job runs.",
|
|
13757
|
-
"example": "declare const bucket: s3.Bucket;\nnew glue.Job(this, 'ScalaSparkEtlJob', {\n executable: glue.JobExecutable.scalaEtl({\n glueVersion: glue.GlueVersion.
|
|
14177
|
+
"example": "declare const bucket: s3.Bucket;\nnew glue.Job(this, 'ScalaSparkEtlJob', {\n executable: glue.JobExecutable.scalaEtl({\n glueVersion: glue.GlueVersion.V5_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});",
|
|
13758
14178
|
"custom": {
|
|
13759
14179
|
"exampleMetadata": "infused"
|
|
13760
14180
|
}
|
|
@@ -13973,6 +14393,6 @@
|
|
|
13973
14393
|
"symbolId": "lib/storage-parameter:WriteParallel"
|
|
13974
14394
|
}
|
|
13975
14395
|
},
|
|
13976
|
-
"version": "2.
|
|
14396
|
+
"version": "2.174.0-alpha.0",
|
|
13977
14397
|
"fingerprint": "**********"
|
|
13978
14398
|
}
|