@aws-cdk/aws-glue-alpha 2.88.0-alpha.0 → 2.90.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 +1167 -118
- package/.jsii.tabl.json.gz +0 -0
- package/.warnings.jsii.js +33 -9
- package/README.md +19 -1
- package/lib/code.js +3 -3
- package/lib/connection.js +2 -2
- package/lib/data-format.js +5 -5
- package/lib/data-quality-ruleset.js +2 -2
- package/lib/database.js +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.js +3 -2
- package/lib/job-executable.js +4 -4
- package/lib/job.js +2 -2
- package/lib/schema.js +1 -1
- package/lib/security-configuration.js +1 -1
- package/lib/storage-parameter.d.ts +331 -0
- package/lib/storage-parameter.js +455 -0
- package/lib/table.d.ts +39 -0
- package/lib/table.js +12 -3
- package/package.json +9 -9
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.90.0",
|
|
12
12
|
"constructs": "^10.0.0"
|
|
13
13
|
},
|
|
14
14
|
"dependencyClosure": {
|
|
@@ -3492,7 +3492,7 @@
|
|
|
3492
3492
|
"stability": "experimental"
|
|
3493
3493
|
},
|
|
3494
3494
|
"homepage": "https://github.com/aws/aws-cdk",
|
|
3495
|
-
"jsiiVersion": "5.1.
|
|
3495
|
+
"jsiiVersion": "5.1.10 (build 041401a)",
|
|
3496
3496
|
"keywords": [
|
|
3497
3497
|
"aws",
|
|
3498
3498
|
"cdk",
|
|
@@ -3513,7 +3513,7 @@
|
|
|
3513
3513
|
},
|
|
3514
3514
|
"name": "@aws-cdk/aws-glue-alpha",
|
|
3515
3515
|
"readme": {
|
|
3516
|
-
"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\nSee [documentation](https://docs.aws.amazon.com/glue/latest/dg/add-job.html) for more information on adding jobs in Glue.\n\n## Connection\n\nA `Connection` allows Glue jobs, crawlers and development endpoints to access certain types of data stores. For example, to create a network connection to connect to a data source within a VPC:\n\n```ts\ndeclare const securityGroup: ec2.SecurityGroup;\ndeclare const subnet: ec2.Subnet;\nnew glue.Connection(this, 'MyConnection', {\n type: glue.ConnectionType.NETWORK,\n // The security groups granting AWS Glue inbound access to the data source within the VPC\n securityGroups: [securityGroup],\n // The VPC subnet which contains the data source\n subnet,\n});\n```\n\nFor RDS `Connection` by JDBC, it is recommended to manage credentials using AWS Secrets Manager. To use Secret, specify `SECRET_ID` in `properties` like the following code. Note that in this case, the subnet must have a route to the AWS Secrets Manager VPC endpoint or to the AWS Secrets Manager endpoint through a NAT gateway.\n\n```ts\ndeclare const securityGroup: ec2.SecurityGroup;\ndeclare const subnet: ec2.Subnet;\ndeclare const db: rds.DatabaseCluster;\nnew glue.Connection(this, \"RdsConnection\", {\n type: glue.ConnectionType.JDBC,\n securityGroups: [securityGroup],\n subnet,\n properties: {\n JDBC_CONNECTION_URL: `jdbc:mysql://${db.clusterEndpoint.socketAddress}/databasename`,\n JDBC_ENFORCE_SSL: \"false\",\n SECRET_ID: db.secret!.secretName,\n },\n});\n```\n\nIf you need to use a connection type that doesn't exist as a static member on `ConnectionType`, you can instantiate a `ConnectionType` object, e.g: `new glue.ConnectionType('NEW_TYPE')`.\n\nSee [Adding a Connection to Your Data Store](https://docs.aws.amazon.com/glue/latest/dg/populate-add-connection.html) and [Connection Structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-connections.html#aws-glue-api-catalog-connections-Connection) documentation for more information on the supported data stores and their configurations.\n\n## SecurityConfiguration\n\nA `SecurityConfiguration` is a set of security properties that can be used by AWS Glue to encrypt data at rest.\n\n```ts\nnew glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n },\n jobBookmarksEncryption: {\n mode: glue.JobBookmarksEncryptionMode.CLIENT_SIDE_KMS,\n },\n s3Encryption: {\n mode: glue.S3EncryptionMode.KMS,\n },\n});\n```\n\nBy default, a shared KMS key is created for use with the encryption configurations that require one. You can also supply your own key for each encryption config, for example, for CloudWatch encryption:\n\n```ts\ndeclare const key: kms.Key;\nnew glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n kmsKey: key,\n },\n});\n```\n\nSee [documentation](https://docs.aws.amazon.com/glue/latest/dg/encryption-security-configuration.html) for more info for Glue encrypting data written by Crawlers, Jobs, and Development Endpoints.\n\n## Database\n\nA `Database` is a logical grouping of `Tables` in the Glue Catalog.\n\n```ts\nnew glue.Database(this, 'MyDatabase');\n```\n\n## Table\n\nA Glue table describes a table of data in S3: its structure (column names and types), location of data (S3 objects with a common prefix in a S3 bucket), and format for the files (Json, Avro, Parquet, etc.):\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }, {\n name: 'col2',\n type: glue.Schema.array(glue.Schema.STRING),\n comment: 'col2 is an array of strings' // comment is optional\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\nBy default, a S3 bucket will be created to store the table's data but you can manually pass the `bucket` and `s3Prefix`:\n\n```ts\ndeclare const myBucket: s3.Bucket;\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n bucket: myBucket,\n s3Prefix: 'my-table/',\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\nBy default, an S3 bucket will be created to store the table's data and stored in the bucket root. You can also manually pass the `bucket` and `s3Prefix`:\n\n### Partition Keys\n\nTo improve query performance, a table can specify `partitionKeys` on which data is stored and queried separately. For example, you might partition a table by `year` and `month` to optimize queries based on a time window:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n### Partition Indexes\n\nAnother way to improve query performance is to specify partition indexes. If no partition indexes are\npresent on the table, AWS Glue loads all partitions of the table and filters the loaded partitions using\nthe query expression. The query takes more time to run as the number of partitions increase. With an\nindex, the query will try to fetch a subset of the partitions instead of loading all partitions of the\ntable.\n\nThe keys of a partition index must be a subset of the partition keys of the table. You can have a\nmaximum of 3 partition indexes per table. To specify a partition index, you can use the `partitionIndexes`\nproperty:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n partitionIndexes: [{\n indexName: 'my-index', // optional\n keyNames: ['year'],\n }], // supply up to 3 indexes\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\nAlternatively, you can call the `addPartitionIndex()` function on a table:\n\n```ts\ndeclare const myTable: glue.Table;\nmyTable.addPartitionIndex({\n indexName: 'my-index',\n keyNames: ['year'],\n});\n```\n\n### Partition Filtering\n\nIf you have a table with a large number of partitions that grows over time, consider using AWS Glue partition indexing and filtering.\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n dataFormat: glue.DataFormat.JSON,\n enablePartitionFiltering: true,\n});\n```\n\n## [Encryption](https://docs.aws.amazon.com/athena/latest/ug/encryption.html)\n\nYou can enable encryption on a Table's data:\n\n* [S3Managed](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html) - (default) Server side encryption (`SSE-S3`) with an Amazon S3-managed key.\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.S3_MANAGED,\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n* [Kms](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) - Server-side encryption (`SSE-KMS`) with an AWS KMS Key managed by the account owner.\n\n```ts\ndeclare const myDatabase: glue.Database;\n// KMS key is created automatically\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.KMS,\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n\n// with an explicit KMS key\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.KMS,\n encryptionKey: new kms.Key(this, 'MyKey'),\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n* [KmsManaged](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) - Server-side encryption (`SSE-KMS`), like `Kms`, except with an AWS KMS Key managed by the AWS Key Management Service.\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.KMS_MANAGED,\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n* [ClientSideKms](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html#client-side-encryption-kms-managed-master-key-intro) - Client-side encryption (`CSE-KMS`) with an AWS KMS Key managed by the account owner.\n\n```ts\ndeclare const myDatabase: glue.Database;\n// KMS key is created automatically\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.CLIENT_SIDE_KMS,\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n\n// with an explicit KMS key\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.CLIENT_SIDE_KMS,\n encryptionKey: new kms.Key(this, 'MyKey'),\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n*Note: you cannot provide a `Bucket` when creating the `Table` if you wish to use server-side encryption (`KMS`, `KMS_MANAGED` or `S3_MANAGED`)*.\n\n## Types\n\nA table's schema is a collection of columns, each of which have a `name` and a `type`. Types are recursive structures, consisting of primitive and complex types:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n columns: [{\n name: 'primitive_column',\n type: glue.Schema.STRING,\n }, {\n name: 'array_column',\n type: glue.Schema.array(glue.Schema.INTEGER),\n comment: 'array<integer>',\n }, {\n name: 'map_column',\n type: glue.Schema.map(\n glue.Schema.STRING,\n glue.Schema.TIMESTAMP),\n comment: 'map<string,string>',\n }, {\n name: 'struct_column',\n type: glue.Schema.struct([{\n name: 'nested_column',\n type: glue.Schema.DATE,\n comment: 'nested comment',\n }]),\n comment: \"struct<nested_column:date COMMENT 'nested comment'>\",\n }],\n // ...\n database: myDatabase,\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n### Primitives\n\n#### Numeric\n\n| Name \t| Type \t| Comments |\n|-----------\t|----------\t|------------------------------------------------------------------------------------------------------------------\t|\n| FLOAT \t| Constant \t| A 32-bit single-precision floating point number |\n| INTEGER \t| Constant \t| A 32-bit signed value in two's complement format, with a minimum value of -2^31 and a maximum value of 2^31-1 \t|\n| DOUBLE \t| Constant \t| A 64-bit double-precision floating point number |\n| BIG_INT \t| Constant \t| A 64-bit signed INTEGER in two’s complement format, with a minimum value of -2^63 and a maximum value of 2^63 -1 |\n| SMALL_INT \t| Constant \t| A 16-bit signed INTEGER in two’s complement format, with a minimum value of -2^15 and a maximum value of 2^15-1 |\n| TINY_INT \t| Constant \t| A 8-bit signed INTEGER in two’s complement format, with a minimum value of -2^7 and a maximum value of 2^7-1 |\n\n#### Date and time\n\n| Name \t| Type \t| Comments \t|\n|-----------\t|----------\t|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------\t|\n| DATE \t| Constant \t| A date in UNIX format, such as YYYY-MM-DD. \t|\n| TIMESTAMP \t| Constant \t| Date and time instant in the UNiX format, such as yyyy-mm-dd hh:mm:ss[.f...]. For example, TIMESTAMP '2008-09-15 03:04:05.324'. This format uses the session time zone. \t|\n\n#### String\n\n| Name \t| Type \t| Comments \t|\n|--------------------------------------------\t|----------\t|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\t|\n| STRING \t| Constant \t| A string literal enclosed in single or double quotes \t|\n| decimal(precision: number, scale?: number) \t| Function \t| `precision` is the total number of digits. `scale` (optional) is the number of digits in fractional part with a default of 0. For example, use these type definitions: decimal(11,5), decimal(15) \t|\n| char(length: number) \t| Function \t| Fixed length character data, with a specified length between 1 and 255, such as char(10) \t|\n| varchar(length: number) \t| Function \t| Variable length character data, with a specified length between 1 and 65535, such as varchar(10) \t|\n\n#### Miscellaneous\n\n| Name \t| Type \t| Comments \t|\n|---------\t|----------\t|-------------------------------\t|\n| BOOLEAN \t| Constant \t| Values are `true` and `false` \t|\n| BINARY \t| Constant \t| Value is in binary \t|\n\n### Complex\n\n| Name \t| Type \t| Comments \t|\n|-------------------------------------\t|----------\t|-------------------------------------------------------------------\t|\n| array(itemType: Type) \t| Function \t| An array of some other type \t|\n| map(keyType: Type, valueType: Type) \t| Function \t| A map of some primitive key type to any value type \t|\n| struct(collumns: Column[]) \t| Function \t| Nested structure containing individually named and typed collumns \t|\n\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"
|
|
3516
|
+
"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\nSee [documentation](https://docs.aws.amazon.com/glue/latest/dg/add-job.html) for more information on adding jobs in Glue.\n\n## Connection\n\nA `Connection` allows Glue jobs, crawlers and development endpoints to access certain types of data stores. For example, to create a network connection to connect to a data source within a VPC:\n\n```ts\ndeclare const securityGroup: ec2.SecurityGroup;\ndeclare const subnet: ec2.Subnet;\nnew glue.Connection(this, 'MyConnection', {\n type: glue.ConnectionType.NETWORK,\n // The security groups granting AWS Glue inbound access to the data source within the VPC\n securityGroups: [securityGroup],\n // The VPC subnet which contains the data source\n subnet,\n});\n```\n\nFor RDS `Connection` by JDBC, it is recommended to manage credentials using AWS Secrets Manager. To use Secret, specify `SECRET_ID` in `properties` like the following code. Note that in this case, the subnet must have a route to the AWS Secrets Manager VPC endpoint or to the AWS Secrets Manager endpoint through a NAT gateway.\n\n```ts\ndeclare const securityGroup: ec2.SecurityGroup;\ndeclare const subnet: ec2.Subnet;\ndeclare const db: rds.DatabaseCluster;\nnew glue.Connection(this, \"RdsConnection\", {\n type: glue.ConnectionType.JDBC,\n securityGroups: [securityGroup],\n subnet,\n properties: {\n JDBC_CONNECTION_URL: `jdbc:mysql://${db.clusterEndpoint.socketAddress}/databasename`,\n JDBC_ENFORCE_SSL: \"false\",\n SECRET_ID: db.secret!.secretName,\n },\n});\n```\n\nIf you need to use a connection type that doesn't exist as a static member on `ConnectionType`, you can instantiate a `ConnectionType` object, e.g: `new glue.ConnectionType('NEW_TYPE')`.\n\nSee [Adding a Connection to Your Data Store](https://docs.aws.amazon.com/glue/latest/dg/populate-add-connection.html) and [Connection Structure](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-catalog-connections.html#aws-glue-api-catalog-connections-Connection) documentation for more information on the supported data stores and their configurations.\n\n## SecurityConfiguration\n\nA `SecurityConfiguration` is a set of security properties that can be used by AWS Glue to encrypt data at rest.\n\n```ts\nnew glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n },\n jobBookmarksEncryption: {\n mode: glue.JobBookmarksEncryptionMode.CLIENT_SIDE_KMS,\n },\n s3Encryption: {\n mode: glue.S3EncryptionMode.KMS,\n },\n});\n```\n\nBy default, a shared KMS key is created for use with the encryption configurations that require one. You can also supply your own key for each encryption config, for example, for CloudWatch encryption:\n\n```ts\ndeclare const key: kms.Key;\nnew glue.SecurityConfiguration(this, 'MySecurityConfiguration', {\n cloudWatchEncryption: {\n mode: glue.CloudWatchEncryptionMode.KMS,\n kmsKey: key,\n },\n});\n```\n\nSee [documentation](https://docs.aws.amazon.com/glue/latest/dg/encryption-security-configuration.html) for more info for Glue encrypting data written by Crawlers, Jobs, and Development Endpoints.\n\n## Database\n\nA `Database` is a logical grouping of `Tables` in the Glue Catalog.\n\n```ts\nnew glue.Database(this, 'MyDatabase');\n```\n\n## Table\n\nA Glue table describes a table of data in S3: its structure (column names and types), location of data (S3 objects with a common prefix in a S3 bucket), and format for the files (Json, Avro, Parquet, etc.):\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }, {\n name: 'col2',\n type: glue.Schema.array(glue.Schema.STRING),\n comment: 'col2 is an array of strings' // comment is optional\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\nBy default, a S3 bucket will be created to store the table's data but you can manually pass the `bucket` and `s3Prefix`:\n\n```ts\ndeclare const myBucket: s3.Bucket;\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n bucket: myBucket,\n s3Prefix: 'my-table/',\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\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.Table(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\n### Partition Keys\n\nTo improve query performance, a table can specify `partitionKeys` on which data is stored and queried separately. For example, you might partition a table by `year` and `month` to optimize queries based on a time window:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n### Partition Indexes\n\nAnother way to improve query performance is to specify partition indexes. If no partition indexes are\npresent on the table, AWS Glue loads all partitions of the table and filters the loaded partitions using\nthe query expression. The query takes more time to run as the number of partitions increase. With an\nindex, the query will try to fetch a subset of the partitions instead of loading all partitions of the\ntable.\n\nThe keys of a partition index must be a subset of the partition keys of the table. You can have a\nmaximum of 3 partition indexes per table. To specify a partition index, you can use the `partitionIndexes`\nproperty:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n partitionIndexes: [{\n indexName: 'my-index', // optional\n keyNames: ['year'],\n }], // supply up to 3 indexes\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\nAlternatively, you can call the `addPartitionIndex()` function on a table:\n\n```ts\ndeclare const myTable: glue.Table;\nmyTable.addPartitionIndex({\n indexName: 'my-index',\n keyNames: ['year'],\n});\n```\n\n### Partition Filtering\n\nIf you have a table with a large number of partitions that grows over time, consider using AWS Glue partition indexing and filtering.\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n dataFormat: glue.DataFormat.JSON,\n enablePartitionFiltering: true,\n});\n```\n\n## [Encryption](https://docs.aws.amazon.com/athena/latest/ug/encryption.html)\n\nYou can enable encryption on a Table's data:\n\n* [S3Managed](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html) - (default) Server side encryption (`SSE-S3`) with an Amazon S3-managed key.\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.S3_MANAGED,\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n* [Kms](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) - Server-side encryption (`SSE-KMS`) with an AWS KMS Key managed by the account owner.\n\n```ts\ndeclare const myDatabase: glue.Database;\n// KMS key is created automatically\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.KMS,\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n\n// with an explicit KMS key\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.KMS,\n encryptionKey: new kms.Key(this, 'MyKey'),\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n* [KmsManaged](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) - Server-side encryption (`SSE-KMS`), like `Kms`, except with an AWS KMS Key managed by the AWS Key Management Service.\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.KMS_MANAGED,\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n* [ClientSideKms](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html#client-side-encryption-kms-managed-master-key-intro) - Client-side encryption (`CSE-KMS`) with an AWS KMS Key managed by the account owner.\n\n```ts\ndeclare const myDatabase: glue.Database;\n// KMS key is created automatically\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.CLIENT_SIDE_KMS,\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n\n// with an explicit KMS key\nnew glue.Table(this, 'MyTable', {\n encryption: glue.TableEncryption.CLIENT_SIDE_KMS,\n encryptionKey: new kms.Key(this, 'MyKey'),\n // ...\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n*Note: you cannot provide a `Bucket` when creating the `Table` if you wish to use server-side encryption (`KMS`, `KMS_MANAGED` or `S3_MANAGED`)*.\n\n## Types\n\nA table's schema is a collection of columns, each of which have a `name` and a `type`. Types are recursive structures, consisting of primitive and complex types:\n\n```ts\ndeclare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n columns: [{\n name: 'primitive_column',\n type: glue.Schema.STRING,\n }, {\n name: 'array_column',\n type: glue.Schema.array(glue.Schema.INTEGER),\n comment: 'array<integer>',\n }, {\n name: 'map_column',\n type: glue.Schema.map(\n glue.Schema.STRING,\n glue.Schema.TIMESTAMP),\n comment: 'map<string,string>',\n }, {\n name: 'struct_column',\n type: glue.Schema.struct([{\n name: 'nested_column',\n type: glue.Schema.DATE,\n comment: 'nested comment',\n }]),\n comment: \"struct<nested_column:date COMMENT 'nested comment'>\",\n }],\n // ...\n database: myDatabase,\n dataFormat: glue.DataFormat.JSON,\n});\n```\n\n### Primitives\n\n#### Numeric\n\n| Name \t| Type \t| Comments |\n|-----------\t|----------\t|------------------------------------------------------------------------------------------------------------------\t|\n| FLOAT \t| Constant \t| A 32-bit single-precision floating point number |\n| INTEGER \t| Constant \t| A 32-bit signed value in two's complement format, with a minimum value of -2^31 and a maximum value of 2^31-1 \t|\n| DOUBLE \t| Constant \t| A 64-bit double-precision floating point number |\n| BIG_INT \t| Constant \t| A 64-bit signed INTEGER in two’s complement format, with a minimum value of -2^63 and a maximum value of 2^63 -1 |\n| SMALL_INT \t| Constant \t| A 16-bit signed INTEGER in two’s complement format, with a minimum value of -2^15 and a maximum value of 2^15-1 |\n| TINY_INT \t| Constant \t| A 8-bit signed INTEGER in two’s complement format, with a minimum value of -2^7 and a maximum value of 2^7-1 |\n\n#### Date and time\n\n| Name \t| Type \t| Comments \t|\n|-----------\t|----------\t|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------\t|\n| DATE \t| Constant \t| A date in UNIX format, such as YYYY-MM-DD. \t|\n| TIMESTAMP \t| Constant \t| Date and time instant in the UNiX format, such as yyyy-mm-dd hh:mm:ss[.f...]. For example, TIMESTAMP '2008-09-15 03:04:05.324'. This format uses the session time zone. \t|\n\n#### String\n\n| Name \t| Type \t| Comments \t|\n|--------------------------------------------\t|----------\t|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\t|\n| STRING \t| Constant \t| A string literal enclosed in single or double quotes \t|\n| decimal(precision: number, scale?: number) \t| Function \t| `precision` is the total number of digits. `scale` (optional) is the number of digits in fractional part with a default of 0. For example, use these type definitions: decimal(11,5), decimal(15) \t|\n| char(length: number) \t| Function \t| Fixed length character data, with a specified length between 1 and 255, such as char(10) \t|\n| varchar(length: number) \t| Function \t| Variable length character data, with a specified length between 1 and 65535, such as varchar(10) \t|\n\n#### Miscellaneous\n\n| Name \t| Type \t| Comments \t|\n|---------\t|----------\t|-------------------------------\t|\n| BOOLEAN \t| Constant \t| Values are `true` and `false` \t|\n| BINARY \t| Constant \t| Value is in binary \t|\n\n### Complex\n\n| Name \t| Type \t| Comments \t|\n|-------------------------------------\t|----------\t|-------------------------------------------------------------------\t|\n| array(itemType: Type) \t| Function \t| An array of some other type \t|\n| map(keyType: Type, valueType: Type) \t| Function \t| A map of some primitive key type to any value type \t|\n| struct(collumns: Column[]) \t| Function \t| Nested structure containing individually named and typed collumns \t|\n\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"
|
|
3517
3517
|
},
|
|
3518
3518
|
"repository": {
|
|
3519
3519
|
"directory": "packages/@aws-cdk/aws-glue-alpha",
|
|
@@ -4112,6 +4112,103 @@
|
|
|
4112
4112
|
],
|
|
4113
4113
|
"symbolId": "lib/schema:Column"
|
|
4114
4114
|
},
|
|
4115
|
+
"@aws-cdk/aws-glue-alpha.ColumnCountMismatchHandlingAction": {
|
|
4116
|
+
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
4117
|
+
"docs": {
|
|
4118
|
+
"remarks": "This property is only available for an uncompressed text file format.",
|
|
4119
|
+
"see": "https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_TABLE.html#r_CREATE_EXTERNAL_TABLE-parameters - under _\"TABLE PROPERTIES\"_ > _\"column_count_mismatch_handling\"_",
|
|
4120
|
+
"stability": "experimental",
|
|
4121
|
+
"summary": "Identifies if the file contains less or more values for a row than the number of columns specified in the external table definition."
|
|
4122
|
+
},
|
|
4123
|
+
"fqn": "@aws-cdk/aws-glue-alpha.ColumnCountMismatchHandlingAction",
|
|
4124
|
+
"kind": "enum",
|
|
4125
|
+
"locationInModule": {
|
|
4126
|
+
"filename": "lib/storage-parameter.ts",
|
|
4127
|
+
"line": 156
|
|
4128
|
+
},
|
|
4129
|
+
"members": [
|
|
4130
|
+
{
|
|
4131
|
+
"docs": {
|
|
4132
|
+
"stability": "experimental",
|
|
4133
|
+
"summary": "Column count mismatch handling is turned off."
|
|
4134
|
+
},
|
|
4135
|
+
"name": "DISABLED"
|
|
4136
|
+
},
|
|
4137
|
+
{
|
|
4138
|
+
"docs": {
|
|
4139
|
+
"stability": "experimental",
|
|
4140
|
+
"summary": "Fail the query if the column count mismatch is detected."
|
|
4141
|
+
},
|
|
4142
|
+
"name": "FAIL"
|
|
4143
|
+
},
|
|
4144
|
+
{
|
|
4145
|
+
"docs": {
|
|
4146
|
+
"stability": "experimental",
|
|
4147
|
+
"summary": "Fill missing values with NULL and ignore the additional values in each row."
|
|
4148
|
+
},
|
|
4149
|
+
"name": "SET_TO_NULL"
|
|
4150
|
+
},
|
|
4151
|
+
{
|
|
4152
|
+
"docs": {
|
|
4153
|
+
"stability": "experimental",
|
|
4154
|
+
"summary": "Drop all rows that contain column count mismatch error from the scan."
|
|
4155
|
+
},
|
|
4156
|
+
"name": "DROP_ROW"
|
|
4157
|
+
}
|
|
4158
|
+
],
|
|
4159
|
+
"name": "ColumnCountMismatchHandlingAction",
|
|
4160
|
+
"symbolId": "lib/storage-parameter:ColumnCountMismatchHandlingAction"
|
|
4161
|
+
},
|
|
4162
|
+
"@aws-cdk/aws-glue-alpha.CompressionType": {
|
|
4163
|
+
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
4164
|
+
"docs": {
|
|
4165
|
+
"see": "https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_TABLE.html#r_CREATE_EXTERNAL_TABLE-parameters - under _\"TABLE PROPERTIES\"_ > _\"compression_type\"_",
|
|
4166
|
+
"stability": "experimental",
|
|
4167
|
+
"summary": "The compression type.",
|
|
4168
|
+
"example": "declare const myDatabase: glue.Database;\nnew glue.Table(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});",
|
|
4169
|
+
"custom": {
|
|
4170
|
+
"exampleMetadata": "infused"
|
|
4171
|
+
}
|
|
4172
|
+
},
|
|
4173
|
+
"fqn": "@aws-cdk/aws-glue-alpha.CompressionType",
|
|
4174
|
+
"kind": "enum",
|
|
4175
|
+
"locationInModule": {
|
|
4176
|
+
"filename": "lib/storage-parameter.ts",
|
|
4177
|
+
"line": 6
|
|
4178
|
+
},
|
|
4179
|
+
"members": [
|
|
4180
|
+
{
|
|
4181
|
+
"docs": {
|
|
4182
|
+
"stability": "experimental",
|
|
4183
|
+
"summary": "No compression."
|
|
4184
|
+
},
|
|
4185
|
+
"name": "NONE"
|
|
4186
|
+
},
|
|
4187
|
+
{
|
|
4188
|
+
"docs": {
|
|
4189
|
+
"stability": "experimental",
|
|
4190
|
+
"summary": "Burrows-Wheeler compression."
|
|
4191
|
+
},
|
|
4192
|
+
"name": "BZIP2"
|
|
4193
|
+
},
|
|
4194
|
+
{
|
|
4195
|
+
"docs": {
|
|
4196
|
+
"stability": "experimental",
|
|
4197
|
+
"summary": "Deflate compression."
|
|
4198
|
+
},
|
|
4199
|
+
"name": "GZIP"
|
|
4200
|
+
},
|
|
4201
|
+
{
|
|
4202
|
+
"docs": {
|
|
4203
|
+
"stability": "experimental",
|
|
4204
|
+
"summary": "Compression algorithm focused on high compression and decompression speeds, rather than the maximum possible compression."
|
|
4205
|
+
},
|
|
4206
|
+
"name": "SNAPPY"
|
|
4207
|
+
}
|
|
4208
|
+
],
|
|
4209
|
+
"name": "CompressionType",
|
|
4210
|
+
"symbolId": "lib/storage-parameter:CompressionType"
|
|
4211
|
+
},
|
|
4115
4212
|
"@aws-cdk/aws-glue-alpha.Connection": {
|
|
4116
4213
|
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
4117
4214
|
"base": "aws-cdk-lib.Resource",
|
|
@@ -6518,7 +6615,7 @@
|
|
|
6518
6615
|
"kind": "interface",
|
|
6519
6616
|
"locationInModule": {
|
|
6520
6617
|
"filename": "lib/table.ts",
|
|
6521
|
-
"line":
|
|
6618
|
+
"line": 32
|
|
6522
6619
|
},
|
|
6523
6620
|
"name": "ITable",
|
|
6524
6621
|
"properties": [
|
|
@@ -6533,7 +6630,7 @@
|
|
|
6533
6630
|
"immutable": true,
|
|
6534
6631
|
"locationInModule": {
|
|
6535
6632
|
"filename": "lib/table.ts",
|
|
6536
|
-
"line":
|
|
6633
|
+
"line": 36
|
|
6537
6634
|
},
|
|
6538
6635
|
"name": "tableArn",
|
|
6539
6636
|
"type": {
|
|
@@ -6551,7 +6648,7 @@
|
|
|
6551
6648
|
"immutable": true,
|
|
6552
6649
|
"locationInModule": {
|
|
6553
6650
|
"filename": "lib/table.ts",
|
|
6554
|
-
"line":
|
|
6651
|
+
"line": 41
|
|
6555
6652
|
},
|
|
6556
6653
|
"name": "tableName",
|
|
6557
6654
|
"type": {
|
|
@@ -6704,6 +6801,59 @@
|
|
|
6704
6801
|
],
|
|
6705
6802
|
"symbolId": "lib/data-format:InputFormat"
|
|
6706
6803
|
},
|
|
6804
|
+
"@aws-cdk/aws-glue-alpha.InvalidCharHandlingAction": {
|
|
6805
|
+
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
6806
|
+
"docs": {
|
|
6807
|
+
"see": "https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_TABLE.html#r_CREATE_EXTERNAL_TABLE-parameters - under _\"TABLE PROPERTIES\"_ > _\"invalid_char_handling\"_",
|
|
6808
|
+
"stability": "experimental",
|
|
6809
|
+
"summary": "Specifies the action to perform when query results contain invalid UTF-8 character values."
|
|
6810
|
+
},
|
|
6811
|
+
"fqn": "@aws-cdk/aws-glue-alpha.InvalidCharHandlingAction",
|
|
6812
|
+
"kind": "enum",
|
|
6813
|
+
"locationInModule": {
|
|
6814
|
+
"filename": "lib/storage-parameter.ts",
|
|
6815
|
+
"line": 33
|
|
6816
|
+
},
|
|
6817
|
+
"members": [
|
|
6818
|
+
{
|
|
6819
|
+
"docs": {
|
|
6820
|
+
"stability": "experimental",
|
|
6821
|
+
"summary": "Doesn't perform invalid character handling."
|
|
6822
|
+
},
|
|
6823
|
+
"name": "DISABLED"
|
|
6824
|
+
},
|
|
6825
|
+
{
|
|
6826
|
+
"docs": {
|
|
6827
|
+
"stability": "experimental",
|
|
6828
|
+
"summary": "Cancels queries that return data containing invalid UTF-8 values."
|
|
6829
|
+
},
|
|
6830
|
+
"name": "FAIL"
|
|
6831
|
+
},
|
|
6832
|
+
{
|
|
6833
|
+
"docs": {
|
|
6834
|
+
"stability": "experimental",
|
|
6835
|
+
"summary": "Replaces invalid UTF-8 values with null."
|
|
6836
|
+
},
|
|
6837
|
+
"name": "SET_TO_NULL"
|
|
6838
|
+
},
|
|
6839
|
+
{
|
|
6840
|
+
"docs": {
|
|
6841
|
+
"stability": "experimental",
|
|
6842
|
+
"summary": "Replaces each value in the row with null."
|
|
6843
|
+
},
|
|
6844
|
+
"name": "DROP_ROW"
|
|
6845
|
+
},
|
|
6846
|
+
{
|
|
6847
|
+
"docs": {
|
|
6848
|
+
"stability": "experimental",
|
|
6849
|
+
"summary": "Replaces the invalid character with the replacement character you specify using `REPLACEMENT_CHAR`."
|
|
6850
|
+
},
|
|
6851
|
+
"name": "REPLACE"
|
|
6852
|
+
}
|
|
6853
|
+
],
|
|
6854
|
+
"name": "InvalidCharHandlingAction",
|
|
6855
|
+
"symbolId": "lib/storage-parameter:InvalidCharHandlingAction"
|
|
6856
|
+
},
|
|
6707
6857
|
"@aws-cdk/aws-glue-alpha.Job": {
|
|
6708
6858
|
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
6709
6859
|
"base": "aws-cdk-lib.Resource",
|
|
@@ -8481,6 +8631,84 @@
|
|
|
8481
8631
|
"name": "MetricType",
|
|
8482
8632
|
"symbolId": "lib/job:MetricType"
|
|
8483
8633
|
},
|
|
8634
|
+
"@aws-cdk/aws-glue-alpha.NumericOverflowHandlingAction": {
|
|
8635
|
+
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
8636
|
+
"docs": {
|
|
8637
|
+
"see": "https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_TABLE.html#r_CREATE_EXTERNAL_TABLE-parameters - under _\"TABLE PROPERTIES\"_ > _\"numeric_overflow_handling\"_",
|
|
8638
|
+
"stability": "experimental",
|
|
8639
|
+
"summary": "Specifies the action to perform when ORC data contains an integer (for example, BIGINT or int64) that is larger than the column definition (for example, SMALLINT or int16)."
|
|
8640
|
+
},
|
|
8641
|
+
"fqn": "@aws-cdk/aws-glue-alpha.NumericOverflowHandlingAction",
|
|
8642
|
+
"kind": "enum",
|
|
8643
|
+
"locationInModule": {
|
|
8644
|
+
"filename": "lib/storage-parameter.ts",
|
|
8645
|
+
"line": 65
|
|
8646
|
+
},
|
|
8647
|
+
"members": [
|
|
8648
|
+
{
|
|
8649
|
+
"docs": {
|
|
8650
|
+
"stability": "experimental",
|
|
8651
|
+
"summary": "Invalid character handling is turned off."
|
|
8652
|
+
},
|
|
8653
|
+
"name": "DISABLED"
|
|
8654
|
+
},
|
|
8655
|
+
{
|
|
8656
|
+
"docs": {
|
|
8657
|
+
"stability": "experimental",
|
|
8658
|
+
"summary": "Cancel the query when the data includes invalid characters."
|
|
8659
|
+
},
|
|
8660
|
+
"name": "FAIL"
|
|
8661
|
+
},
|
|
8662
|
+
{
|
|
8663
|
+
"docs": {
|
|
8664
|
+
"stability": "experimental",
|
|
8665
|
+
"summary": "Set invalid characters to null."
|
|
8666
|
+
},
|
|
8667
|
+
"name": "SET_TO_NULL"
|
|
8668
|
+
},
|
|
8669
|
+
{
|
|
8670
|
+
"docs": {
|
|
8671
|
+
"stability": "experimental",
|
|
8672
|
+
"summary": "Set each value in the row to null."
|
|
8673
|
+
},
|
|
8674
|
+
"name": "DROP_ROW"
|
|
8675
|
+
}
|
|
8676
|
+
],
|
|
8677
|
+
"name": "NumericOverflowHandlingAction",
|
|
8678
|
+
"symbolId": "lib/storage-parameter:NumericOverflowHandlingAction"
|
|
8679
|
+
},
|
|
8680
|
+
"@aws-cdk/aws-glue-alpha.OrcColumnMappingType": {
|
|
8681
|
+
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
8682
|
+
"docs": {
|
|
8683
|
+
"see": "https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_TABLE.html#r_CREATE_EXTERNAL_TABLE-parameters - under _\"TABLE PROPERTIES\"_ > _\"orc.schema.resolution\"_",
|
|
8684
|
+
"stability": "experimental",
|
|
8685
|
+
"summary": "Specifies how to map columns when the table uses ORC data format."
|
|
8686
|
+
},
|
|
8687
|
+
"fqn": "@aws-cdk/aws-glue-alpha.OrcColumnMappingType",
|
|
8688
|
+
"kind": "enum",
|
|
8689
|
+
"locationInModule": {
|
|
8690
|
+
"filename": "lib/storage-parameter.ts",
|
|
8691
|
+
"line": 200
|
|
8692
|
+
},
|
|
8693
|
+
"members": [
|
|
8694
|
+
{
|
|
8695
|
+
"docs": {
|
|
8696
|
+
"stability": "experimental",
|
|
8697
|
+
"summary": "Map columns by name."
|
|
8698
|
+
},
|
|
8699
|
+
"name": "NAME"
|
|
8700
|
+
},
|
|
8701
|
+
{
|
|
8702
|
+
"docs": {
|
|
8703
|
+
"stability": "experimental",
|
|
8704
|
+
"summary": "Map columns by position."
|
|
8705
|
+
},
|
|
8706
|
+
"name": "POSITION"
|
|
8707
|
+
}
|
|
8708
|
+
],
|
|
8709
|
+
"name": "OrcColumnMappingType",
|
|
8710
|
+
"symbolId": "lib/storage-parameter:OrcColumnMappingType"
|
|
8711
|
+
},
|
|
8484
8712
|
"@aws-cdk/aws-glue-alpha.OutputFormat": {
|
|
8485
8713
|
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
8486
8714
|
"docs": {
|
|
@@ -8620,7 +8848,7 @@
|
|
|
8620
8848
|
"kind": "interface",
|
|
8621
8849
|
"locationInModule": {
|
|
8622
8850
|
"filename": "lib/table.ts",
|
|
8623
|
-
"line":
|
|
8851
|
+
"line": 17
|
|
8624
8852
|
},
|
|
8625
8853
|
"name": "PartitionIndex",
|
|
8626
8854
|
"properties": [
|
|
@@ -8634,7 +8862,7 @@
|
|
|
8634
8862
|
"immutable": true,
|
|
8635
8863
|
"locationInModule": {
|
|
8636
8864
|
"filename": "lib/table.ts",
|
|
8637
|
-
"line":
|
|
8865
|
+
"line": 30
|
|
8638
8866
|
},
|
|
8639
8867
|
"name": "keyNames",
|
|
8640
8868
|
"type": {
|
|
@@ -8656,7 +8884,7 @@
|
|
|
8656
8884
|
"immutable": true,
|
|
8657
8885
|
"locationInModule": {
|
|
8658
8886
|
"filename": "lib/table.ts",
|
|
8659
|
-
"line":
|
|
8887
|
+
"line": 23
|
|
8660
8888
|
},
|
|
8661
8889
|
"name": "indexName",
|
|
8662
8890
|
"optional": true,
|
|
@@ -10604,176 +10832,917 @@
|
|
|
10604
10832
|
],
|
|
10605
10833
|
"symbolId": "lib/job:SparkUIProps"
|
|
10606
10834
|
},
|
|
10607
|
-
"@aws-cdk/aws-glue-alpha.
|
|
10835
|
+
"@aws-cdk/aws-glue-alpha.StorageParameter": {
|
|
10608
10836
|
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
10609
|
-
"base": "aws-cdk-lib.Resource",
|
|
10610
10837
|
"docs": {
|
|
10838
|
+
"remarks": "If you would like to specify a storage parameter that is not available as a static member of this class, use the `StorageParameter.custom` method.\n\nThe list of storage parameters currently known within the CDK is listed.",
|
|
10839
|
+
"see": "https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_TABLE.html#r_CREATE_EXTERNAL_TABLE-parameters - under _\"TABLE PROPERTIES\"_",
|
|
10611
10840
|
"stability": "experimental",
|
|
10612
|
-
"summary": "A
|
|
10613
|
-
"example": "declare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n
|
|
10841
|
+
"summary": "A storage parameter. The list of storage parameters available is not exhaustive and other keys may be used.",
|
|
10842
|
+
"example": "declare const myDatabase: glue.Database;\nnew glue.Table(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});",
|
|
10614
10843
|
"custom": {
|
|
10615
10844
|
"exampleMetadata": "infused"
|
|
10616
10845
|
}
|
|
10617
10846
|
},
|
|
10618
|
-
"fqn": "@aws-cdk/aws-glue-alpha.
|
|
10847
|
+
"fqn": "@aws-cdk/aws-glue-alpha.StorageParameter",
|
|
10619
10848
|
"initializer": {
|
|
10620
10849
|
"docs": {
|
|
10621
10850
|
"stability": "experimental"
|
|
10622
10851
|
},
|
|
10623
10852
|
"locationInModule": {
|
|
10624
|
-
"filename": "lib/
|
|
10625
|
-
"line":
|
|
10853
|
+
"filename": "lib/storage-parameter.ts",
|
|
10854
|
+
"line": 422
|
|
10626
10855
|
},
|
|
10627
10856
|
"parameters": [
|
|
10628
10857
|
{
|
|
10629
|
-
"name": "
|
|
10630
|
-
"type": {
|
|
10631
|
-
"fqn": "constructs.Construct"
|
|
10632
|
-
}
|
|
10633
|
-
},
|
|
10634
|
-
{
|
|
10635
|
-
"name": "id",
|
|
10858
|
+
"name": "key",
|
|
10636
10859
|
"type": {
|
|
10637
10860
|
"primitive": "string"
|
|
10638
10861
|
}
|
|
10639
10862
|
},
|
|
10640
10863
|
{
|
|
10641
|
-
"name": "
|
|
10864
|
+
"name": "value",
|
|
10642
10865
|
"type": {
|
|
10643
|
-
"
|
|
10866
|
+
"primitive": "string"
|
|
10644
10867
|
}
|
|
10645
10868
|
}
|
|
10646
|
-
]
|
|
10869
|
+
],
|
|
10870
|
+
"protected": true
|
|
10647
10871
|
},
|
|
10648
|
-
"interfaces": [
|
|
10649
|
-
"@aws-cdk/aws-glue-alpha.ITable"
|
|
10650
|
-
],
|
|
10651
10872
|
"kind": "class",
|
|
10652
10873
|
"locationInModule": {
|
|
10653
|
-
"filename": "lib/
|
|
10654
|
-
"line":
|
|
10874
|
+
"filename": "lib/storage-parameter.ts",
|
|
10875
|
+
"line": 303
|
|
10655
10876
|
},
|
|
10656
10877
|
"methods": [
|
|
10657
10878
|
{
|
|
10658
10879
|
"docs": {
|
|
10659
|
-
"
|
|
10880
|
+
"remarks": "This property is only available for an uncompressed text file format.",
|
|
10881
|
+
"stability": "experimental",
|
|
10882
|
+
"summary": "Identifies if the file contains less or more values for a row than the number of columns specified in the external table definition."
|
|
10660
10883
|
},
|
|
10661
10884
|
"locationInModule": {
|
|
10662
|
-
"filename": "lib/
|
|
10663
|
-
"line":
|
|
10885
|
+
"filename": "lib/storage-parameter.ts",
|
|
10886
|
+
"line": 363
|
|
10664
10887
|
},
|
|
10665
|
-
"name": "
|
|
10888
|
+
"name": "columnCountMismatchHandling",
|
|
10666
10889
|
"parameters": [
|
|
10667
10890
|
{
|
|
10668
|
-
"name": "
|
|
10669
|
-
"type": {
|
|
10670
|
-
"fqn": "constructs.Construct"
|
|
10671
|
-
}
|
|
10672
|
-
},
|
|
10673
|
-
{
|
|
10674
|
-
"name": "id",
|
|
10675
|
-
"type": {
|
|
10676
|
-
"primitive": "string"
|
|
10677
|
-
}
|
|
10678
|
-
},
|
|
10679
|
-
{
|
|
10680
|
-
"name": "tableArn",
|
|
10891
|
+
"name": "value",
|
|
10681
10892
|
"type": {
|
|
10682
|
-
"
|
|
10893
|
+
"fqn": "@aws-cdk/aws-glue-alpha.ColumnCountMismatchHandlingAction"
|
|
10683
10894
|
}
|
|
10684
10895
|
}
|
|
10685
10896
|
],
|
|
10686
10897
|
"returns": {
|
|
10687
10898
|
"type": {
|
|
10688
|
-
"fqn": "@aws-cdk/aws-glue-alpha.
|
|
10899
|
+
"fqn": "@aws-cdk/aws-glue-alpha.StorageParameter"
|
|
10689
10900
|
}
|
|
10690
10901
|
},
|
|
10691
10902
|
"static": true
|
|
10692
10903
|
},
|
|
10693
10904
|
{
|
|
10694
10905
|
"docs": {
|
|
10906
|
+
"remarks": "This value overrides the compression type specified through the extension.",
|
|
10695
10907
|
"stability": "experimental",
|
|
10696
|
-
"summary": "
|
|
10908
|
+
"summary": "The type of compression used on the table, when the file name does not contain an extension."
|
|
10697
10909
|
},
|
|
10698
10910
|
"locationInModule": {
|
|
10699
|
-
"filename": "lib/
|
|
10700
|
-
"line":
|
|
10911
|
+
"filename": "lib/storage-parameter.ts",
|
|
10912
|
+
"line": 321
|
|
10701
10913
|
},
|
|
10702
|
-
"name": "
|
|
10914
|
+
"name": "compressionType",
|
|
10703
10915
|
"parameters": [
|
|
10704
10916
|
{
|
|
10705
|
-
"
|
|
10706
|
-
"summary": "The scope creating construct (usually `this`)."
|
|
10707
|
-
},
|
|
10708
|
-
"name": "scope",
|
|
10917
|
+
"name": "value",
|
|
10709
10918
|
"type": {
|
|
10710
|
-
"fqn": "
|
|
10919
|
+
"fqn": "@aws-cdk/aws-glue-alpha.CompressionType"
|
|
10711
10920
|
}
|
|
10712
|
-
}
|
|
10921
|
+
}
|
|
10922
|
+
],
|
|
10923
|
+
"returns": {
|
|
10924
|
+
"type": {
|
|
10925
|
+
"fqn": "@aws-cdk/aws-glue-alpha.StorageParameter"
|
|
10926
|
+
}
|
|
10927
|
+
},
|
|
10928
|
+
"static": true
|
|
10929
|
+
},
|
|
10930
|
+
{
|
|
10931
|
+
"docs": {
|
|
10932
|
+
"stability": "experimental",
|
|
10933
|
+
"summary": "A custom storage parameter."
|
|
10934
|
+
},
|
|
10935
|
+
"locationInModule": {
|
|
10936
|
+
"filename": "lib/storage-parameter.ts",
|
|
10937
|
+
"line": 418
|
|
10938
|
+
},
|
|
10939
|
+
"name": "custom",
|
|
10940
|
+
"parameters": [
|
|
10713
10941
|
{
|
|
10714
10942
|
"docs": {
|
|
10715
|
-
"summary": "The
|
|
10943
|
+
"summary": "- The key of the storage parameter."
|
|
10716
10944
|
},
|
|
10717
|
-
"name": "
|
|
10945
|
+
"name": "key",
|
|
10718
10946
|
"type": {
|
|
10719
10947
|
"primitive": "string"
|
|
10720
10948
|
}
|
|
10721
10949
|
},
|
|
10722
10950
|
{
|
|
10723
10951
|
"docs": {
|
|
10724
|
-
"summary": "
|
|
10952
|
+
"summary": "- The value of the storage parameter."
|
|
10725
10953
|
},
|
|
10726
|
-
"name": "
|
|
10954
|
+
"name": "value",
|
|
10727
10955
|
"type": {
|
|
10728
|
-
"
|
|
10956
|
+
"primitive": "any"
|
|
10729
10957
|
}
|
|
10730
10958
|
}
|
|
10731
10959
|
],
|
|
10732
10960
|
"returns": {
|
|
10733
10961
|
"type": {
|
|
10734
|
-
"fqn": "@aws-cdk/aws-glue-alpha.
|
|
10962
|
+
"fqn": "@aws-cdk/aws-glue-alpha.StorageParameter"
|
|
10735
10963
|
}
|
|
10736
10964
|
},
|
|
10737
10965
|
"static": true
|
|
10738
10966
|
},
|
|
10739
10967
|
{
|
|
10740
10968
|
"docs": {
|
|
10741
|
-
"remarks": "You can have a maximum of 3 partition\nindexes to a table. Partition index keys must be a subset of the table's\npartition keys.",
|
|
10742
|
-
"see": "https://docs.aws.amazon.com/glue/latest/dg/partition-indexes.html",
|
|
10743
10969
|
"stability": "experimental",
|
|
10744
|
-
"summary": "
|
|
10970
|
+
"summary": "Determines whether data handling is on for the table."
|
|
10745
10971
|
},
|
|
10746
10972
|
"locationInModule": {
|
|
10747
|
-
"filename": "lib/
|
|
10748
|
-
"line":
|
|
10973
|
+
"filename": "lib/storage-parameter.ts",
|
|
10974
|
+
"line": 314
|
|
10749
10975
|
},
|
|
10750
|
-
"name": "
|
|
10976
|
+
"name": "dataCleansingEnabled",
|
|
10751
10977
|
"parameters": [
|
|
10752
10978
|
{
|
|
10753
|
-
"name": "
|
|
10979
|
+
"name": "value",
|
|
10754
10980
|
"type": {
|
|
10755
|
-
"
|
|
10981
|
+
"primitive": "boolean"
|
|
10756
10982
|
}
|
|
10757
10983
|
}
|
|
10758
|
-
]
|
|
10984
|
+
],
|
|
10985
|
+
"returns": {
|
|
10986
|
+
"type": {
|
|
10987
|
+
"fqn": "@aws-cdk/aws-glue-alpha.StorageParameter"
|
|
10988
|
+
}
|
|
10989
|
+
},
|
|
10990
|
+
"static": true
|
|
10759
10991
|
},
|
|
10760
10992
|
{
|
|
10761
10993
|
"docs": {
|
|
10762
10994
|
"stability": "experimental",
|
|
10763
|
-
"summary": "
|
|
10995
|
+
"summary": "Specifies the action to perform when query results contain invalid UTF-8 character values."
|
|
10764
10996
|
},
|
|
10765
10997
|
"locationInModule": {
|
|
10766
|
-
"filename": "lib/
|
|
10767
|
-
"line":
|
|
10998
|
+
"filename": "lib/storage-parameter.ts",
|
|
10999
|
+
"line": 328
|
|
10768
11000
|
},
|
|
10769
|
-
"name": "
|
|
11001
|
+
"name": "invalidCharHandling",
|
|
10770
11002
|
"parameters": [
|
|
10771
11003
|
{
|
|
10772
|
-
"name": "
|
|
11004
|
+
"name": "value",
|
|
10773
11005
|
"type": {
|
|
10774
|
-
"fqn": "aws-cdk-
|
|
11006
|
+
"fqn": "@aws-cdk/aws-glue-alpha.InvalidCharHandlingAction"
|
|
10775
11007
|
}
|
|
10776
|
-
}
|
|
11008
|
+
}
|
|
11009
|
+
],
|
|
11010
|
+
"returns": {
|
|
11011
|
+
"type": {
|
|
11012
|
+
"fqn": "@aws-cdk/aws-glue-alpha.StorageParameter"
|
|
11013
|
+
}
|
|
11014
|
+
},
|
|
11015
|
+
"static": true
|
|
11016
|
+
},
|
|
11017
|
+
{
|
|
11018
|
+
"docs": {
|
|
11019
|
+
"stability": "experimental",
|
|
11020
|
+
"summary": "Specifies the action to perform when ORC data contains an integer (for example, BIGINT or int64) that is larger than the column definition (for example, SMALLINT or int16)."
|
|
11021
|
+
},
|
|
11022
|
+
"locationInModule": {
|
|
11023
|
+
"filename": "lib/storage-parameter.ts",
|
|
11024
|
+
"line": 342
|
|
11025
|
+
},
|
|
11026
|
+
"name": "numericOverflowHandling",
|
|
11027
|
+
"parameters": [
|
|
11028
|
+
{
|
|
11029
|
+
"name": "value",
|
|
11030
|
+
"type": {
|
|
11031
|
+
"fqn": "@aws-cdk/aws-glue-alpha.NumericOverflowHandlingAction"
|
|
11032
|
+
}
|
|
11033
|
+
}
|
|
11034
|
+
],
|
|
11035
|
+
"returns": {
|
|
11036
|
+
"type": {
|
|
11037
|
+
"fqn": "@aws-cdk/aws-glue-alpha.StorageParameter"
|
|
11038
|
+
}
|
|
11039
|
+
},
|
|
11040
|
+
"static": true
|
|
11041
|
+
},
|
|
11042
|
+
{
|
|
11043
|
+
"docs": {
|
|
11044
|
+
"remarks": "To explicitly update an external table's statistics, set the numRows property to indicate the size of the table. Amazon Redshift doesn't analyze external tables to generate the table statistics that the query optimizer uses to generate a query plan. If table statistics aren't set for an external table, Amazon Redshift generates a query execution plan based on an assumption that external tables are the larger tables and local tables are the smaller tables.",
|
|
11045
|
+
"stability": "experimental",
|
|
11046
|
+
"summary": "A property that sets the numRows value for the table definition."
|
|
11047
|
+
},
|
|
11048
|
+
"locationInModule": {
|
|
11049
|
+
"filename": "lib/storage-parameter.ts",
|
|
11050
|
+
"line": 370
|
|
11051
|
+
},
|
|
11052
|
+
"name": "numRows",
|
|
11053
|
+
"parameters": [
|
|
11054
|
+
{
|
|
11055
|
+
"name": "value",
|
|
11056
|
+
"type": {
|
|
11057
|
+
"primitive": "number"
|
|
11058
|
+
}
|
|
11059
|
+
}
|
|
11060
|
+
],
|
|
11061
|
+
"returns": {
|
|
11062
|
+
"type": {
|
|
11063
|
+
"fqn": "@aws-cdk/aws-glue-alpha.StorageParameter"
|
|
11064
|
+
}
|
|
11065
|
+
},
|
|
11066
|
+
"static": true
|
|
11067
|
+
},
|
|
11068
|
+
{
|
|
11069
|
+
"docs": {
|
|
11070
|
+
"default": "OrcColumnMappingType.NAME",
|
|
11071
|
+
"remarks": "This property is ignored for other data formats. If this property is omitted, columns are mapped by `OrcColumnMappingType.NAME` by default.",
|
|
11072
|
+
"stability": "experimental",
|
|
11073
|
+
"summary": "A property that sets the column mapping type for tables that use ORC data format."
|
|
11074
|
+
},
|
|
11075
|
+
"locationInModule": {
|
|
11076
|
+
"filename": "lib/storage-parameter.ts",
|
|
11077
|
+
"line": 386
|
|
11078
|
+
},
|
|
11079
|
+
"name": "orcSchemaResolution",
|
|
11080
|
+
"parameters": [
|
|
11081
|
+
{
|
|
11082
|
+
"name": "value",
|
|
11083
|
+
"type": {
|
|
11084
|
+
"fqn": "@aws-cdk/aws-glue-alpha.OrcColumnMappingType"
|
|
11085
|
+
}
|
|
11086
|
+
}
|
|
11087
|
+
],
|
|
11088
|
+
"returns": {
|
|
11089
|
+
"type": {
|
|
11090
|
+
"fqn": "@aws-cdk/aws-glue-alpha.StorageParameter"
|
|
11091
|
+
}
|
|
11092
|
+
},
|
|
11093
|
+
"static": true
|
|
11094
|
+
},
|
|
11095
|
+
{
|
|
11096
|
+
"docs": {
|
|
11097
|
+
"stability": "experimental",
|
|
11098
|
+
"summary": "Specifies the replacement character to use when you set `INVALID_CHAR_HANDLING` to `REPLACE`."
|
|
11099
|
+
},
|
|
11100
|
+
"locationInModule": {
|
|
11101
|
+
"filename": "lib/storage-parameter.ts",
|
|
11102
|
+
"line": 335
|
|
11103
|
+
},
|
|
11104
|
+
"name": "replacementChar",
|
|
11105
|
+
"parameters": [
|
|
11106
|
+
{
|
|
11107
|
+
"name": "value",
|
|
11108
|
+
"type": {
|
|
11109
|
+
"primitive": "string"
|
|
11110
|
+
}
|
|
11111
|
+
}
|
|
11112
|
+
],
|
|
11113
|
+
"returns": {
|
|
11114
|
+
"type": {
|
|
11115
|
+
"fqn": "@aws-cdk/aws-glue-alpha.StorageParameter"
|
|
11116
|
+
}
|
|
11117
|
+
},
|
|
11118
|
+
"static": true
|
|
11119
|
+
},
|
|
11120
|
+
{
|
|
11121
|
+
"docs": {
|
|
11122
|
+
"stability": "experimental",
|
|
11123
|
+
"summary": "A property that sets number of rows to skip at the beginning of each source file."
|
|
11124
|
+
},
|
|
11125
|
+
"locationInModule": {
|
|
11126
|
+
"filename": "lib/storage-parameter.ts",
|
|
11127
|
+
"line": 377
|
|
11128
|
+
},
|
|
11129
|
+
"name": "serializationNullFormat",
|
|
11130
|
+
"parameters": [
|
|
11131
|
+
{
|
|
11132
|
+
"name": "value",
|
|
11133
|
+
"type": {
|
|
11134
|
+
"primitive": "string"
|
|
11135
|
+
}
|
|
11136
|
+
}
|
|
11137
|
+
],
|
|
11138
|
+
"returns": {
|
|
11139
|
+
"type": {
|
|
11140
|
+
"fqn": "@aws-cdk/aws-glue-alpha.StorageParameter"
|
|
11141
|
+
}
|
|
11142
|
+
},
|
|
11143
|
+
"static": true
|
|
11144
|
+
},
|
|
11145
|
+
{
|
|
11146
|
+
"docs": {
|
|
11147
|
+
"stability": "experimental",
|
|
11148
|
+
"summary": "The number of rows to skip at the top of a CSV file when the table is being created."
|
|
11149
|
+
},
|
|
11150
|
+
"locationInModule": {
|
|
11151
|
+
"filename": "lib/storage-parameter.ts",
|
|
11152
|
+
"line": 307
|
|
11153
|
+
},
|
|
11154
|
+
"name": "skipHeaderLineCount",
|
|
11155
|
+
"parameters": [
|
|
11156
|
+
{
|
|
11157
|
+
"name": "value",
|
|
11158
|
+
"type": {
|
|
11159
|
+
"primitive": "number"
|
|
11160
|
+
}
|
|
11161
|
+
}
|
|
11162
|
+
],
|
|
11163
|
+
"returns": {
|
|
11164
|
+
"type": {
|
|
11165
|
+
"fqn": "@aws-cdk/aws-glue-alpha.StorageParameter"
|
|
11166
|
+
}
|
|
11167
|
+
},
|
|
11168
|
+
"static": true
|
|
11169
|
+
},
|
|
11170
|
+
{
|
|
11171
|
+
"docs": {
|
|
11172
|
+
"remarks": "By default, Redshift Spectrum sets the value to null for data that exceeds the width of the column.",
|
|
11173
|
+
"stability": "experimental",
|
|
11174
|
+
"summary": "Specifies how to handle data being loaded that exceeds the length of the data type defined for columns containing VARBYTE data."
|
|
11175
|
+
},
|
|
11176
|
+
"locationInModule": {
|
|
11177
|
+
"filename": "lib/storage-parameter.ts",
|
|
11178
|
+
"line": 349
|
|
11179
|
+
},
|
|
11180
|
+
"name": "surplusBytesHandling",
|
|
11181
|
+
"parameters": [
|
|
11182
|
+
{
|
|
11183
|
+
"name": "value",
|
|
11184
|
+
"type": {
|
|
11185
|
+
"fqn": "@aws-cdk/aws-glue-alpha.SurplusBytesHandlingAction"
|
|
11186
|
+
}
|
|
11187
|
+
}
|
|
11188
|
+
],
|
|
11189
|
+
"returns": {
|
|
11190
|
+
"type": {
|
|
11191
|
+
"fqn": "@aws-cdk/aws-glue-alpha.StorageParameter"
|
|
11192
|
+
}
|
|
11193
|
+
},
|
|
11194
|
+
"static": true
|
|
11195
|
+
},
|
|
11196
|
+
{
|
|
11197
|
+
"docs": {
|
|
11198
|
+
"remarks": "By default, Redshift Spectrum sets the value to null for data that exceeds the width of the column.",
|
|
11199
|
+
"stability": "experimental",
|
|
11200
|
+
"summary": "Specifies how to handle data being loaded that exceeds the length of the data type defined for columns containing VARCHAR, CHAR, or string data."
|
|
11201
|
+
},
|
|
11202
|
+
"locationInModule": {
|
|
11203
|
+
"filename": "lib/storage-parameter.ts",
|
|
11204
|
+
"line": 356
|
|
11205
|
+
},
|
|
11206
|
+
"name": "surplusCharHandling",
|
|
11207
|
+
"parameters": [
|
|
11208
|
+
{
|
|
11209
|
+
"name": "value",
|
|
11210
|
+
"type": {
|
|
11211
|
+
"fqn": "@aws-cdk/aws-glue-alpha.SurplusCharHandlingAction"
|
|
11212
|
+
}
|
|
11213
|
+
}
|
|
11214
|
+
],
|
|
11215
|
+
"returns": {
|
|
11216
|
+
"type": {
|
|
11217
|
+
"fqn": "@aws-cdk/aws-glue-alpha.StorageParameter"
|
|
11218
|
+
}
|
|
11219
|
+
},
|
|
11220
|
+
"static": true
|
|
11221
|
+
},
|
|
11222
|
+
{
|
|
11223
|
+
"docs": {
|
|
11224
|
+
"stability": "experimental",
|
|
11225
|
+
"summary": "You can specify an AWS Key Management Service key to enable Server–Side Encryption (SSE) for Amazon S3 objects."
|
|
11226
|
+
},
|
|
11227
|
+
"locationInModule": {
|
|
11228
|
+
"filename": "lib/storage-parameter.ts",
|
|
11229
|
+
"line": 409
|
|
11230
|
+
},
|
|
11231
|
+
"name": "writeKmsKeyId",
|
|
11232
|
+
"parameters": [
|
|
11233
|
+
{
|
|
11234
|
+
"name": "value",
|
|
11235
|
+
"type": {
|
|
11236
|
+
"primitive": "string"
|
|
11237
|
+
}
|
|
11238
|
+
}
|
|
11239
|
+
],
|
|
11240
|
+
"returns": {
|
|
11241
|
+
"type": {
|
|
11242
|
+
"fqn": "@aws-cdk/aws-glue-alpha.StorageParameter"
|
|
11243
|
+
}
|
|
11244
|
+
},
|
|
11245
|
+
"static": true
|
|
11246
|
+
},
|
|
11247
|
+
{
|
|
11248
|
+
"docs": {
|
|
11249
|
+
"remarks": "The size must be a valid integer between 5 and 6200. The default maximum file size is 6,200 MB. This table property also applies to any subsequent INSERT statement into the same external table.",
|
|
11250
|
+
"stability": "experimental",
|
|
11251
|
+
"summary": "A property that sets the maximum size (in MB) of each file written to Amazon S3 by CREATE EXTERNAL TABLE AS."
|
|
11252
|
+
},
|
|
11253
|
+
"locationInModule": {
|
|
11254
|
+
"filename": "lib/storage-parameter.ts",
|
|
11255
|
+
"line": 402
|
|
11256
|
+
},
|
|
11257
|
+
"name": "writeMaxFileSizeMb",
|
|
11258
|
+
"parameters": [
|
|
11259
|
+
{
|
|
11260
|
+
"name": "value",
|
|
11261
|
+
"type": {
|
|
11262
|
+
"primitive": "number"
|
|
11263
|
+
}
|
|
11264
|
+
}
|
|
11265
|
+
],
|
|
11266
|
+
"returns": {
|
|
11267
|
+
"type": {
|
|
11268
|
+
"fqn": "@aws-cdk/aws-glue-alpha.StorageParameter"
|
|
11269
|
+
}
|
|
11270
|
+
},
|
|
11271
|
+
"static": true
|
|
11272
|
+
},
|
|
11273
|
+
{
|
|
11274
|
+
"docs": {
|
|
11275
|
+
"default": "WriteParallel.ON",
|
|
11276
|
+
"remarks": "When 'write.parallel' is set to off, CREATE EXTERNAL TABLE AS writes to one or more data files serially onto Amazon S3. This table property also applies to any subsequent INSERT statement into the same external table.",
|
|
11277
|
+
"stability": "experimental",
|
|
11278
|
+
"summary": "A property that sets whether CREATE EXTERNAL TABLE AS should write data in parallel."
|
|
11279
|
+
},
|
|
11280
|
+
"locationInModule": {
|
|
11281
|
+
"filename": "lib/storage-parameter.ts",
|
|
11282
|
+
"line": 395
|
|
11283
|
+
},
|
|
11284
|
+
"name": "writeParallel",
|
|
11285
|
+
"parameters": [
|
|
11286
|
+
{
|
|
11287
|
+
"name": "value",
|
|
11288
|
+
"type": {
|
|
11289
|
+
"fqn": "@aws-cdk/aws-glue-alpha.WriteParallel"
|
|
11290
|
+
}
|
|
11291
|
+
}
|
|
11292
|
+
],
|
|
11293
|
+
"returns": {
|
|
11294
|
+
"type": {
|
|
11295
|
+
"fqn": "@aws-cdk/aws-glue-alpha.StorageParameter"
|
|
11296
|
+
}
|
|
11297
|
+
},
|
|
11298
|
+
"static": true
|
|
11299
|
+
}
|
|
11300
|
+
],
|
|
11301
|
+
"name": "StorageParameter",
|
|
11302
|
+
"properties": [
|
|
11303
|
+
{
|
|
11304
|
+
"docs": {
|
|
11305
|
+
"stability": "experimental"
|
|
11306
|
+
},
|
|
11307
|
+
"immutable": true,
|
|
11308
|
+
"locationInModule": {
|
|
11309
|
+
"filename": "lib/storage-parameter.ts",
|
|
11310
|
+
"line": 422
|
|
11311
|
+
},
|
|
11312
|
+
"name": "key",
|
|
11313
|
+
"type": {
|
|
11314
|
+
"primitive": "string"
|
|
11315
|
+
}
|
|
11316
|
+
},
|
|
11317
|
+
{
|
|
11318
|
+
"docs": {
|
|
11319
|
+
"stability": "experimental"
|
|
11320
|
+
},
|
|
11321
|
+
"immutable": true,
|
|
11322
|
+
"locationInModule": {
|
|
11323
|
+
"filename": "lib/storage-parameter.ts",
|
|
11324
|
+
"line": 422
|
|
11325
|
+
},
|
|
11326
|
+
"name": "value",
|
|
11327
|
+
"type": {
|
|
11328
|
+
"primitive": "string"
|
|
11329
|
+
}
|
|
11330
|
+
}
|
|
11331
|
+
],
|
|
11332
|
+
"symbolId": "lib/storage-parameter:StorageParameter"
|
|
11333
|
+
},
|
|
11334
|
+
"@aws-cdk/aws-glue-alpha.StorageParameters": {
|
|
11335
|
+
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
11336
|
+
"docs": {
|
|
11337
|
+
"stability": "experimental",
|
|
11338
|
+
"summary": "The storage parameter keys that are currently known, this list is not exhaustive and other keys may be used.",
|
|
11339
|
+
"example": " declare const glueDatabase: glue.IDatabase;\n const table = new glue.Table(this, 'Table', {\n storageParameters: [\n glue.StorageParameter.skipHeaderLineCount(1),\n glue.StorageParameter.compressionType(glue.CompressionType.GZIP),\n glue.StorageParameter.custom('foo', 'bar'), // Will have no effect\n glue.StorageParameter.custom('separatorChar', ','), // Will describe the separator char used in the data\n glue.StorageParameter.custom(glue.StorageParameters.WRITE_PARALLEL, 'off'),\n ],\n // ...\n database: glueDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.CSV,\n });",
|
|
11340
|
+
"custom": {
|
|
11341
|
+
"exampleMetadata": "infused"
|
|
11342
|
+
}
|
|
11343
|
+
},
|
|
11344
|
+
"fqn": "@aws-cdk/aws-glue-alpha.StorageParameters",
|
|
11345
|
+
"kind": "enum",
|
|
11346
|
+
"locationInModule": {
|
|
11347
|
+
"filename": "lib/storage-parameter.ts",
|
|
11348
|
+
"line": 215
|
|
11349
|
+
},
|
|
11350
|
+
"members": [
|
|
11351
|
+
{
|
|
11352
|
+
"docs": {
|
|
11353
|
+
"stability": "experimental",
|
|
11354
|
+
"summary": "The number of rows to skip at the top of a CSV file when the table is being created."
|
|
11355
|
+
},
|
|
11356
|
+
"name": "SKIP_HEADER_LINE_COUNT"
|
|
11357
|
+
},
|
|
11358
|
+
{
|
|
11359
|
+
"docs": {
|
|
11360
|
+
"stability": "experimental",
|
|
11361
|
+
"summary": "Determines whether data handling is on for the table."
|
|
11362
|
+
},
|
|
11363
|
+
"name": "DATA_CLEANSING_ENABLED"
|
|
11364
|
+
},
|
|
11365
|
+
{
|
|
11366
|
+
"docs": {
|
|
11367
|
+
"remarks": "This value overrides the compression type specified through the extension.",
|
|
11368
|
+
"stability": "experimental",
|
|
11369
|
+
"summary": "The type of compression used on the table, when the file name does not contain an extension."
|
|
11370
|
+
},
|
|
11371
|
+
"name": "COMPRESSION_TYPE"
|
|
11372
|
+
},
|
|
11373
|
+
{
|
|
11374
|
+
"docs": {
|
|
11375
|
+
"stability": "experimental",
|
|
11376
|
+
"summary": "Specifies the action to perform when query results contain invalid UTF-8 character values."
|
|
11377
|
+
},
|
|
11378
|
+
"name": "INVALID_CHAR_HANDLING"
|
|
11379
|
+
},
|
|
11380
|
+
{
|
|
11381
|
+
"docs": {
|
|
11382
|
+
"stability": "experimental",
|
|
11383
|
+
"summary": "Specifies the replacement character to use when you set `INVALID_CHAR_HANDLING` to `REPLACE`."
|
|
11384
|
+
},
|
|
11385
|
+
"name": "REPLACEMENT_CHAR"
|
|
11386
|
+
},
|
|
11387
|
+
{
|
|
11388
|
+
"docs": {
|
|
11389
|
+
"stability": "experimental",
|
|
11390
|
+
"summary": "Specifies the action to perform when ORC data contains an integer (for example, BIGINT or int64) that is larger than the column definition (for example, SMALLINT or int16)."
|
|
11391
|
+
},
|
|
11392
|
+
"name": "NUMERIC_OVERFLOW_HANDLING"
|
|
11393
|
+
},
|
|
11394
|
+
{
|
|
11395
|
+
"docs": {
|
|
11396
|
+
"remarks": "By default, Redshift Spectrum sets the value to null for data that exceeds the width of the column.",
|
|
11397
|
+
"stability": "experimental",
|
|
11398
|
+
"summary": "Specifies how to handle data being loaded that exceeds the length of the data type defined for columns containing VARBYTE data."
|
|
11399
|
+
},
|
|
11400
|
+
"name": "SURPLUS_BYTES_HANDLING"
|
|
11401
|
+
},
|
|
11402
|
+
{
|
|
11403
|
+
"docs": {
|
|
11404
|
+
"remarks": "By default, Redshift Spectrum sets the value to null for data that exceeds the width of the column.",
|
|
11405
|
+
"stability": "experimental",
|
|
11406
|
+
"summary": "Specifies how to handle data being loaded that exceeds the length of the data type defined for columns containing VARCHAR, CHAR, or string data."
|
|
11407
|
+
},
|
|
11408
|
+
"name": "SURPLUS_CHAR_HANDLING"
|
|
11409
|
+
},
|
|
11410
|
+
{
|
|
11411
|
+
"docs": {
|
|
11412
|
+
"remarks": "This property is only available for an uncompressed text file format.",
|
|
11413
|
+
"stability": "experimental",
|
|
11414
|
+
"summary": "Identifies if the file contains less or more values for a row than the number of columns specified in the external table definition."
|
|
11415
|
+
},
|
|
11416
|
+
"name": "COLUMN_COUNT_MISMATCH_HANDLING"
|
|
11417
|
+
},
|
|
11418
|
+
{
|
|
11419
|
+
"docs": {
|
|
11420
|
+
"remarks": "To explicitly update an external table's statistics, set the numRows property to indicate the size of the table. Amazon Redshift doesn't analyze external tables to generate the table statistics that the query optimizer uses to generate a query plan. If table statistics aren't set for an external table, Amazon Redshift generates a query execution plan based on an assumption that external tables are the larger tables and local tables are the smaller tables.",
|
|
11421
|
+
"stability": "experimental",
|
|
11422
|
+
"summary": "A property that sets the numRows value for the table definition."
|
|
11423
|
+
},
|
|
11424
|
+
"name": "NUM_ROWS"
|
|
11425
|
+
},
|
|
11426
|
+
{
|
|
11427
|
+
"docs": {
|
|
11428
|
+
"stability": "experimental",
|
|
11429
|
+
"summary": "A property that sets number of rows to skip at the beginning of each source file."
|
|
11430
|
+
},
|
|
11431
|
+
"name": "SERIALIZATION_NULL_FORMAT"
|
|
11432
|
+
},
|
|
11433
|
+
{
|
|
11434
|
+
"docs": {
|
|
11435
|
+
"remarks": "This property is ignored for other data formats.",
|
|
11436
|
+
"stability": "experimental",
|
|
11437
|
+
"summary": "A property that sets the column mapping type for tables that use ORC data format."
|
|
11438
|
+
},
|
|
11439
|
+
"name": "ORC_SCHEMA_RESOLUTION"
|
|
11440
|
+
},
|
|
11441
|
+
{
|
|
11442
|
+
"docs": {
|
|
11443
|
+
"remarks": "When 'write.parallel' is set to off, CREATE EXTERNAL TABLE AS writes to one or more data files serially onto Amazon S3. This table property also applies to any subsequent INSERT statement into the same external table.",
|
|
11444
|
+
"stability": "experimental",
|
|
11445
|
+
"summary": "A property that sets whether CREATE EXTERNAL TABLE AS should write data in parallel."
|
|
11446
|
+
},
|
|
11447
|
+
"name": "WRITE_PARALLEL"
|
|
11448
|
+
},
|
|
11449
|
+
{
|
|
11450
|
+
"docs": {
|
|
11451
|
+
"remarks": "The size must be a valid integer between 5 and 6200. The default maximum file size is 6,200 MB. This table property also applies to any subsequent INSERT statement into the same external table.",
|
|
11452
|
+
"stability": "experimental",
|
|
11453
|
+
"summary": "A property that sets the maximum size (in MB) of each file written to Amazon S3 by CREATE EXTERNAL TABLE AS."
|
|
11454
|
+
},
|
|
11455
|
+
"name": "WRITE_MAX_FILESIZE_MB"
|
|
11456
|
+
},
|
|
11457
|
+
{
|
|
11458
|
+
"docs": {
|
|
11459
|
+
"stability": "experimental",
|
|
11460
|
+
"summary": "You can specify an AWS Key Management Service key to enable Server–Side Encryption (SSE) for Amazon S3 objects."
|
|
11461
|
+
},
|
|
11462
|
+
"name": "WRITE_KMS_KEY_ID"
|
|
11463
|
+
}
|
|
11464
|
+
],
|
|
11465
|
+
"name": "StorageParameters",
|
|
11466
|
+
"symbolId": "lib/storage-parameter:StorageParameters"
|
|
11467
|
+
},
|
|
11468
|
+
"@aws-cdk/aws-glue-alpha.SurplusBytesHandlingAction": {
|
|
11469
|
+
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
11470
|
+
"docs": {
|
|
11471
|
+
"remarks": "By default, Redshift Spectrum sets the value to null for data that exceeds the width of the column.",
|
|
11472
|
+
"see": "https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_TABLE.html#r_CREATE_EXTERNAL_TABLE-parameters - under _\"TABLE PROPERTIES\"_ > _\"surplus_bytes_handling\"_",
|
|
11473
|
+
"stability": "experimental",
|
|
11474
|
+
"summary": "Specifies how to handle data being loaded that exceeds the length of the data type defined for columns containing VARBYTE data."
|
|
11475
|
+
},
|
|
11476
|
+
"fqn": "@aws-cdk/aws-glue-alpha.SurplusBytesHandlingAction",
|
|
11477
|
+
"kind": "enum",
|
|
11478
|
+
"locationInModule": {
|
|
11479
|
+
"filename": "lib/storage-parameter.ts",
|
|
11480
|
+
"line": 92
|
|
11481
|
+
},
|
|
11482
|
+
"members": [
|
|
11483
|
+
{
|
|
11484
|
+
"docs": {
|
|
11485
|
+
"stability": "experimental",
|
|
11486
|
+
"summary": "Replaces data that exceeds the column width with null."
|
|
11487
|
+
},
|
|
11488
|
+
"name": "SET_TO_NULL"
|
|
11489
|
+
},
|
|
11490
|
+
{
|
|
11491
|
+
"docs": {
|
|
11492
|
+
"stability": "experimental",
|
|
11493
|
+
"summary": "Doesn't perform surplus byte handling."
|
|
11494
|
+
},
|
|
11495
|
+
"name": "DISABLED"
|
|
11496
|
+
},
|
|
11497
|
+
{
|
|
11498
|
+
"docs": {
|
|
11499
|
+
"stability": "experimental",
|
|
11500
|
+
"summary": "Cancels queries that return data exceeding the column width."
|
|
11501
|
+
},
|
|
11502
|
+
"name": "FAIL"
|
|
11503
|
+
},
|
|
11504
|
+
{
|
|
11505
|
+
"docs": {
|
|
11506
|
+
"stability": "experimental",
|
|
11507
|
+
"summary": "Drop all rows that contain data exceeding column width."
|
|
11508
|
+
},
|
|
11509
|
+
"name": "DROP_ROW"
|
|
11510
|
+
},
|
|
11511
|
+
{
|
|
11512
|
+
"docs": {
|
|
11513
|
+
"stability": "experimental",
|
|
11514
|
+
"summary": "Removes the characters that exceed the maximum number of characters defined for the column."
|
|
11515
|
+
},
|
|
11516
|
+
"name": "TRUNCATE"
|
|
11517
|
+
}
|
|
11518
|
+
],
|
|
11519
|
+
"name": "SurplusBytesHandlingAction",
|
|
11520
|
+
"symbolId": "lib/storage-parameter:SurplusBytesHandlingAction"
|
|
11521
|
+
},
|
|
11522
|
+
"@aws-cdk/aws-glue-alpha.SurplusCharHandlingAction": {
|
|
11523
|
+
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
11524
|
+
"docs": {
|
|
11525
|
+
"remarks": "By default, Redshift Spectrum sets the value to null for data that exceeds the width of the column.",
|
|
11526
|
+
"see": "https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_TABLE.html#r_CREATE_EXTERNAL_TABLE-parameters - under _\"TABLE PROPERTIES\"_ > _\"surplus_char_handling\"_",
|
|
11527
|
+
"stability": "experimental",
|
|
11528
|
+
"summary": "Specifies how to handle data being loaded that exceeds the length of the data type defined for columns containing VARCHAR, CHAR, or string data."
|
|
11529
|
+
},
|
|
11530
|
+
"fqn": "@aws-cdk/aws-glue-alpha.SurplusCharHandlingAction",
|
|
11531
|
+
"kind": "enum",
|
|
11532
|
+
"locationInModule": {
|
|
11533
|
+
"filename": "lib/storage-parameter.ts",
|
|
11534
|
+
"line": 124
|
|
11535
|
+
},
|
|
11536
|
+
"members": [
|
|
11537
|
+
{
|
|
11538
|
+
"docs": {
|
|
11539
|
+
"stability": "experimental",
|
|
11540
|
+
"summary": "Replaces data that exceeds the column width with null."
|
|
11541
|
+
},
|
|
11542
|
+
"name": "SET_TO_NULL"
|
|
11543
|
+
},
|
|
11544
|
+
{
|
|
11545
|
+
"docs": {
|
|
11546
|
+
"stability": "experimental",
|
|
11547
|
+
"summary": "Doesn't perform surplus character handling."
|
|
11548
|
+
},
|
|
11549
|
+
"name": "DISABLED"
|
|
11550
|
+
},
|
|
11551
|
+
{
|
|
11552
|
+
"docs": {
|
|
11553
|
+
"stability": "experimental",
|
|
11554
|
+
"summary": "Cancels queries that return data exceeding the column width."
|
|
11555
|
+
},
|
|
11556
|
+
"name": "FAIL"
|
|
11557
|
+
},
|
|
11558
|
+
{
|
|
11559
|
+
"docs": {
|
|
11560
|
+
"stability": "experimental",
|
|
11561
|
+
"summary": "Replaces each value in the row with null."
|
|
11562
|
+
},
|
|
11563
|
+
"name": "DROP_ROW"
|
|
11564
|
+
},
|
|
11565
|
+
{
|
|
11566
|
+
"docs": {
|
|
11567
|
+
"stability": "experimental",
|
|
11568
|
+
"summary": "Removes the characters that exceed the maximum number of characters defined for the column."
|
|
11569
|
+
},
|
|
11570
|
+
"name": "TRUNCATE"
|
|
11571
|
+
}
|
|
11572
|
+
],
|
|
11573
|
+
"name": "SurplusCharHandlingAction",
|
|
11574
|
+
"symbolId": "lib/storage-parameter:SurplusCharHandlingAction"
|
|
11575
|
+
},
|
|
11576
|
+
"@aws-cdk/aws-glue-alpha.Table": {
|
|
11577
|
+
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
11578
|
+
"base": "aws-cdk-lib.Resource",
|
|
11579
|
+
"docs": {
|
|
11580
|
+
"stability": "experimental",
|
|
11581
|
+
"summary": "A Glue table.",
|
|
11582
|
+
"example": "declare const myDatabase: glue.Database;\nnew glue.Table(this, 'MyTable', {\n database: myDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n partitionKeys: [{\n name: 'year',\n type: glue.Schema.SMALL_INT,\n }, {\n name: 'month',\n type: glue.Schema.SMALL_INT,\n }],\n dataFormat: glue.DataFormat.JSON,\n});",
|
|
11583
|
+
"custom": {
|
|
11584
|
+
"exampleMetadata": "infused"
|
|
11585
|
+
}
|
|
11586
|
+
},
|
|
11587
|
+
"fqn": "@aws-cdk/aws-glue-alpha.Table",
|
|
11588
|
+
"initializer": {
|
|
11589
|
+
"docs": {
|
|
11590
|
+
"stability": "experimental"
|
|
11591
|
+
},
|
|
11592
|
+
"locationInModule": {
|
|
11593
|
+
"filename": "lib/table.ts",
|
|
11594
|
+
"line": 324
|
|
11595
|
+
},
|
|
11596
|
+
"parameters": [
|
|
11597
|
+
{
|
|
11598
|
+
"name": "scope",
|
|
11599
|
+
"type": {
|
|
11600
|
+
"fqn": "constructs.Construct"
|
|
11601
|
+
}
|
|
11602
|
+
},
|
|
11603
|
+
{
|
|
11604
|
+
"name": "id",
|
|
11605
|
+
"type": {
|
|
11606
|
+
"primitive": "string"
|
|
11607
|
+
}
|
|
11608
|
+
},
|
|
11609
|
+
{
|
|
11610
|
+
"name": "props",
|
|
11611
|
+
"type": {
|
|
11612
|
+
"fqn": "@aws-cdk/aws-glue-alpha.TableProps"
|
|
11613
|
+
}
|
|
11614
|
+
}
|
|
11615
|
+
]
|
|
11616
|
+
},
|
|
11617
|
+
"interfaces": [
|
|
11618
|
+
"@aws-cdk/aws-glue-alpha.ITable"
|
|
11619
|
+
],
|
|
11620
|
+
"kind": "class",
|
|
11621
|
+
"locationInModule": {
|
|
11622
|
+
"filename": "lib/table.ts",
|
|
11623
|
+
"line": 225
|
|
11624
|
+
},
|
|
11625
|
+
"methods": [
|
|
11626
|
+
{
|
|
11627
|
+
"docs": {
|
|
11628
|
+
"stability": "experimental"
|
|
11629
|
+
},
|
|
11630
|
+
"locationInModule": {
|
|
11631
|
+
"filename": "lib/table.ts",
|
|
11632
|
+
"line": 227
|
|
11633
|
+
},
|
|
11634
|
+
"name": "fromTableArn",
|
|
11635
|
+
"parameters": [
|
|
11636
|
+
{
|
|
11637
|
+
"name": "scope",
|
|
11638
|
+
"type": {
|
|
11639
|
+
"fqn": "constructs.Construct"
|
|
11640
|
+
}
|
|
11641
|
+
},
|
|
11642
|
+
{
|
|
11643
|
+
"name": "id",
|
|
11644
|
+
"type": {
|
|
11645
|
+
"primitive": "string"
|
|
11646
|
+
}
|
|
11647
|
+
},
|
|
11648
|
+
{
|
|
11649
|
+
"name": "tableArn",
|
|
11650
|
+
"type": {
|
|
11651
|
+
"primitive": "string"
|
|
11652
|
+
}
|
|
11653
|
+
}
|
|
11654
|
+
],
|
|
11655
|
+
"returns": {
|
|
11656
|
+
"type": {
|
|
11657
|
+
"fqn": "@aws-cdk/aws-glue-alpha.ITable"
|
|
11658
|
+
}
|
|
11659
|
+
},
|
|
11660
|
+
"static": true
|
|
11661
|
+
},
|
|
11662
|
+
{
|
|
11663
|
+
"docs": {
|
|
11664
|
+
"stability": "experimental",
|
|
11665
|
+
"summary": "Creates a Table construct that represents an external table."
|
|
11666
|
+
},
|
|
11667
|
+
"locationInModule": {
|
|
11668
|
+
"filename": "lib/table.ts",
|
|
11669
|
+
"line": 243
|
|
11670
|
+
},
|
|
11671
|
+
"name": "fromTableAttributes",
|
|
11672
|
+
"parameters": [
|
|
11673
|
+
{
|
|
11674
|
+
"docs": {
|
|
11675
|
+
"summary": "The scope creating construct (usually `this`)."
|
|
11676
|
+
},
|
|
11677
|
+
"name": "scope",
|
|
11678
|
+
"type": {
|
|
11679
|
+
"fqn": "constructs.Construct"
|
|
11680
|
+
}
|
|
11681
|
+
},
|
|
11682
|
+
{
|
|
11683
|
+
"docs": {
|
|
11684
|
+
"summary": "The construct's id."
|
|
11685
|
+
},
|
|
11686
|
+
"name": "id",
|
|
11687
|
+
"type": {
|
|
11688
|
+
"primitive": "string"
|
|
11689
|
+
}
|
|
11690
|
+
},
|
|
11691
|
+
{
|
|
11692
|
+
"docs": {
|
|
11693
|
+
"summary": "Import attributes."
|
|
11694
|
+
},
|
|
11695
|
+
"name": "attrs",
|
|
11696
|
+
"type": {
|
|
11697
|
+
"fqn": "@aws-cdk/aws-glue-alpha.TableAttributes"
|
|
11698
|
+
}
|
|
11699
|
+
}
|
|
11700
|
+
],
|
|
11701
|
+
"returns": {
|
|
11702
|
+
"type": {
|
|
11703
|
+
"fqn": "@aws-cdk/aws-glue-alpha.ITable"
|
|
11704
|
+
}
|
|
11705
|
+
},
|
|
11706
|
+
"static": true
|
|
11707
|
+
},
|
|
11708
|
+
{
|
|
11709
|
+
"docs": {
|
|
11710
|
+
"remarks": "You can have a maximum of 3 partition\nindexes to a table. Partition index keys must be a subset of the table's\npartition keys.",
|
|
11711
|
+
"see": "https://docs.aws.amazon.com/glue/latest/dg/partition-indexes.html",
|
|
11712
|
+
"stability": "experimental",
|
|
11713
|
+
"summary": "Add a partition index to the table."
|
|
11714
|
+
},
|
|
11715
|
+
"locationInModule": {
|
|
11716
|
+
"filename": "lib/table.ts",
|
|
11717
|
+
"line": 409
|
|
11718
|
+
},
|
|
11719
|
+
"name": "addPartitionIndex",
|
|
11720
|
+
"parameters": [
|
|
11721
|
+
{
|
|
11722
|
+
"name": "index",
|
|
11723
|
+
"type": {
|
|
11724
|
+
"fqn": "@aws-cdk/aws-glue-alpha.PartitionIndex"
|
|
11725
|
+
}
|
|
11726
|
+
}
|
|
11727
|
+
]
|
|
11728
|
+
},
|
|
11729
|
+
{
|
|
11730
|
+
"docs": {
|
|
11731
|
+
"stability": "experimental",
|
|
11732
|
+
"summary": "Grant the given identity custom permissions."
|
|
11733
|
+
},
|
|
11734
|
+
"locationInModule": {
|
|
11735
|
+
"filename": "lib/table.ts",
|
|
11736
|
+
"line": 508
|
|
11737
|
+
},
|
|
11738
|
+
"name": "grant",
|
|
11739
|
+
"parameters": [
|
|
11740
|
+
{
|
|
11741
|
+
"name": "grantee",
|
|
11742
|
+
"type": {
|
|
11743
|
+
"fqn": "aws-cdk-lib.aws_iam.IGrantable"
|
|
11744
|
+
}
|
|
11745
|
+
},
|
|
10777
11746
|
{
|
|
10778
11747
|
"name": "actions",
|
|
10779
11748
|
"type": {
|
|
@@ -10799,7 +11768,7 @@
|
|
|
10799
11768
|
},
|
|
10800
11769
|
"locationInModule": {
|
|
10801
11770
|
"filename": "lib/table.ts",
|
|
10802
|
-
"line":
|
|
11771
|
+
"line": 474
|
|
10803
11772
|
},
|
|
10804
11773
|
"name": "grantRead",
|
|
10805
11774
|
"parameters": [
|
|
@@ -10826,7 +11795,7 @@
|
|
|
10826
11795
|
},
|
|
10827
11796
|
"locationInModule": {
|
|
10828
11797
|
"filename": "lib/table.ts",
|
|
10829
|
-
"line":
|
|
11798
|
+
"line": 498
|
|
10830
11799
|
},
|
|
10831
11800
|
"name": "grantReadWrite",
|
|
10832
11801
|
"parameters": [
|
|
@@ -10854,7 +11823,7 @@
|
|
|
10854
11823
|
},
|
|
10855
11824
|
"locationInModule": {
|
|
10856
11825
|
"filename": "lib/table.ts",
|
|
10857
|
-
"line":
|
|
11826
|
+
"line": 520
|
|
10858
11827
|
},
|
|
10859
11828
|
"name": "grantToUnderlyingResources",
|
|
10860
11829
|
"parameters": [
|
|
@@ -10889,7 +11858,7 @@
|
|
|
10889
11858
|
},
|
|
10890
11859
|
"locationInModule": {
|
|
10891
11860
|
"filename": "lib/table.ts",
|
|
10892
|
-
"line":
|
|
11861
|
+
"line": 486
|
|
10893
11862
|
},
|
|
10894
11863
|
"name": "grantWrite",
|
|
10895
11864
|
"parameters": [
|
|
@@ -10920,7 +11889,7 @@
|
|
|
10920
11889
|
"immutable": true,
|
|
10921
11890
|
"locationInModule": {
|
|
10922
11891
|
"filename": "lib/table.ts",
|
|
10923
|
-
"line":
|
|
11892
|
+
"line": 275
|
|
10924
11893
|
},
|
|
10925
11894
|
"name": "bucket",
|
|
10926
11895
|
"type": {
|
|
@@ -10935,7 +11904,7 @@
|
|
|
10935
11904
|
"immutable": true,
|
|
10936
11905
|
"locationInModule": {
|
|
10937
11906
|
"filename": "lib/table.ts",
|
|
10938
|
-
"line":
|
|
11907
|
+
"line": 300
|
|
10939
11908
|
},
|
|
10940
11909
|
"name": "columns",
|
|
10941
11910
|
"type": {
|
|
@@ -10955,7 +11924,7 @@
|
|
|
10955
11924
|
"immutable": true,
|
|
10956
11925
|
"locationInModule": {
|
|
10957
11926
|
"filename": "lib/table.ts",
|
|
10958
|
-
"line":
|
|
11927
|
+
"line": 260
|
|
10959
11928
|
},
|
|
10960
11929
|
"name": "compressed",
|
|
10961
11930
|
"type": {
|
|
@@ -10970,7 +11939,7 @@
|
|
|
10970
11939
|
"immutable": true,
|
|
10971
11940
|
"locationInModule": {
|
|
10972
11941
|
"filename": "lib/table.ts",
|
|
10973
|
-
"line":
|
|
11942
|
+
"line": 255
|
|
10974
11943
|
},
|
|
10975
11944
|
"name": "database",
|
|
10976
11945
|
"type": {
|
|
@@ -10985,7 +11954,7 @@
|
|
|
10985
11954
|
"immutable": true,
|
|
10986
11955
|
"locationInModule": {
|
|
10987
11956
|
"filename": "lib/table.ts",
|
|
10988
|
-
"line":
|
|
11957
|
+
"line": 295
|
|
10989
11958
|
},
|
|
10990
11959
|
"name": "dataFormat",
|
|
10991
11960
|
"type": {
|
|
@@ -11000,7 +11969,7 @@
|
|
|
11000
11969
|
"immutable": true,
|
|
11001
11970
|
"locationInModule": {
|
|
11002
11971
|
"filename": "lib/table.ts",
|
|
11003
|
-
"line":
|
|
11972
|
+
"line": 265
|
|
11004
11973
|
},
|
|
11005
11974
|
"name": "encryption",
|
|
11006
11975
|
"type": {
|
|
@@ -11015,7 +11984,7 @@
|
|
|
11015
11984
|
"immutable": true,
|
|
11016
11985
|
"locationInModule": {
|
|
11017
11986
|
"filename": "lib/table.ts",
|
|
11018
|
-
"line":
|
|
11987
|
+
"line": 280
|
|
11019
11988
|
},
|
|
11020
11989
|
"name": "s3Prefix",
|
|
11021
11990
|
"type": {
|
|
@@ -11030,7 +11999,7 @@
|
|
|
11030
11999
|
"immutable": true,
|
|
11031
12000
|
"locationInModule": {
|
|
11032
12001
|
"filename": "lib/table.ts",
|
|
11033
|
-
"line":
|
|
12002
|
+
"line": 290
|
|
11034
12003
|
},
|
|
11035
12004
|
"name": "tableArn",
|
|
11036
12005
|
"overrides": "@aws-cdk/aws-glue-alpha.ITable",
|
|
@@ -11046,7 +12015,7 @@
|
|
|
11046
12015
|
"immutable": true,
|
|
11047
12016
|
"locationInModule": {
|
|
11048
12017
|
"filename": "lib/table.ts",
|
|
11049
|
-
"line":
|
|
12018
|
+
"line": 285
|
|
11050
12019
|
},
|
|
11051
12020
|
"name": "tableName",
|
|
11052
12021
|
"overrides": "@aws-cdk/aws-glue-alpha.ITable",
|
|
@@ -11063,7 +12032,7 @@
|
|
|
11063
12032
|
"immutable": true,
|
|
11064
12033
|
"locationInModule": {
|
|
11065
12034
|
"filename": "lib/table.ts",
|
|
11066
|
-
"line":
|
|
12035
|
+
"line": 270
|
|
11067
12036
|
},
|
|
11068
12037
|
"name": "encryptionKey",
|
|
11069
12038
|
"optional": true,
|
|
@@ -11079,7 +12048,7 @@
|
|
|
11079
12048
|
"immutable": true,
|
|
11080
12049
|
"locationInModule": {
|
|
11081
12050
|
"filename": "lib/table.ts",
|
|
11082
|
-
"line":
|
|
12051
|
+
"line": 310
|
|
11083
12052
|
},
|
|
11084
12053
|
"name": "partitionIndexes",
|
|
11085
12054
|
"optional": true,
|
|
@@ -11100,7 +12069,7 @@
|
|
|
11100
12069
|
"immutable": true,
|
|
11101
12070
|
"locationInModule": {
|
|
11102
12071
|
"filename": "lib/table.ts",
|
|
11103
|
-
"line":
|
|
12072
|
+
"line": 305
|
|
11104
12073
|
},
|
|
11105
12074
|
"name": "partitionKeys",
|
|
11106
12075
|
"optional": true,
|
|
@@ -11112,6 +12081,27 @@
|
|
|
11112
12081
|
"kind": "array"
|
|
11113
12082
|
}
|
|
11114
12083
|
}
|
|
12084
|
+
},
|
|
12085
|
+
{
|
|
12086
|
+
"docs": {
|
|
12087
|
+
"stability": "experimental",
|
|
12088
|
+
"summary": "The tables' storage descriptor properties."
|
|
12089
|
+
},
|
|
12090
|
+
"immutable": true,
|
|
12091
|
+
"locationInModule": {
|
|
12092
|
+
"filename": "lib/table.ts",
|
|
12093
|
+
"line": 315
|
|
12094
|
+
},
|
|
12095
|
+
"name": "storageParameters",
|
|
12096
|
+
"optional": true,
|
|
12097
|
+
"type": {
|
|
12098
|
+
"collection": {
|
|
12099
|
+
"elementtype": {
|
|
12100
|
+
"fqn": "@aws-cdk/aws-glue-alpha.StorageParameter"
|
|
12101
|
+
},
|
|
12102
|
+
"kind": "array"
|
|
12103
|
+
}
|
|
12104
|
+
}
|
|
11115
12105
|
}
|
|
11116
12106
|
],
|
|
11117
12107
|
"symbolId": "lib/table:Table"
|
|
@@ -11130,7 +12120,7 @@
|
|
|
11130
12120
|
"kind": "interface",
|
|
11131
12121
|
"locationInModule": {
|
|
11132
12122
|
"filename": "lib/table.ts",
|
|
11133
|
-
"line":
|
|
12123
|
+
"line": 77
|
|
11134
12124
|
},
|
|
11135
12125
|
"name": "TableAttributes",
|
|
11136
12126
|
"properties": [
|
|
@@ -11142,7 +12132,7 @@
|
|
|
11142
12132
|
"immutable": true,
|
|
11143
12133
|
"locationInModule": {
|
|
11144
12134
|
"filename": "lib/table.ts",
|
|
11145
|
-
"line":
|
|
12135
|
+
"line": 78
|
|
11146
12136
|
},
|
|
11147
12137
|
"name": "tableArn",
|
|
11148
12138
|
"type": {
|
|
@@ -11157,7 +12147,7 @@
|
|
|
11157
12147
|
"immutable": true,
|
|
11158
12148
|
"locationInModule": {
|
|
11159
12149
|
"filename": "lib/table.ts",
|
|
11160
|
-
"line":
|
|
12150
|
+
"line": 79
|
|
11161
12151
|
},
|
|
11162
12152
|
"name": "tableName",
|
|
11163
12153
|
"type": {
|
|
@@ -11182,7 +12172,7 @@
|
|
|
11182
12172
|
"kind": "enum",
|
|
11183
12173
|
"locationInModule": {
|
|
11184
12174
|
"filename": "lib/table.ts",
|
|
11185
|
-
"line":
|
|
12175
|
+
"line": 49
|
|
11186
12176
|
},
|
|
11187
12177
|
"members": [
|
|
11188
12178
|
{
|
|
@@ -11234,7 +12224,7 @@
|
|
|
11234
12224
|
"kind": "interface",
|
|
11235
12225
|
"locationInModule": {
|
|
11236
12226
|
"filename": "lib/table.ts",
|
|
11237
|
-
"line":
|
|
12227
|
+
"line": 82
|
|
11238
12228
|
},
|
|
11239
12229
|
"name": "TableProps",
|
|
11240
12230
|
"properties": [
|
|
@@ -11247,7 +12237,7 @@
|
|
|
11247
12237
|
"immutable": true,
|
|
11248
12238
|
"locationInModule": {
|
|
11249
12239
|
"filename": "lib/table.ts",
|
|
11250
|
-
"line":
|
|
12240
|
+
"line": 119
|
|
11251
12241
|
},
|
|
11252
12242
|
"name": "columns",
|
|
11253
12243
|
"type": {
|
|
@@ -11268,7 +12258,7 @@
|
|
|
11268
12258
|
"immutable": true,
|
|
11269
12259
|
"locationInModule": {
|
|
11270
12260
|
"filename": "lib/table.ts",
|
|
11271
|
-
"line":
|
|
12261
|
+
"line": 100
|
|
11272
12262
|
},
|
|
11273
12263
|
"name": "database",
|
|
11274
12264
|
"type": {
|
|
@@ -11284,7 +12274,7 @@
|
|
|
11284
12274
|
"immutable": true,
|
|
11285
12275
|
"locationInModule": {
|
|
11286
12276
|
"filename": "lib/table.ts",
|
|
11287
|
-
"line":
|
|
12277
|
+
"line": 140
|
|
11288
12278
|
},
|
|
11289
12279
|
"name": "dataFormat",
|
|
11290
12280
|
"type": {
|
|
@@ -11301,7 +12291,7 @@
|
|
|
11301
12291
|
"immutable": true,
|
|
11302
12292
|
"locationInModule": {
|
|
11303
12293
|
"filename": "lib/table.ts",
|
|
11304
|
-
"line":
|
|
12294
|
+
"line": 107
|
|
11305
12295
|
},
|
|
11306
12296
|
"name": "bucket",
|
|
11307
12297
|
"optional": true,
|
|
@@ -11319,7 +12309,7 @@
|
|
|
11319
12309
|
"immutable": true,
|
|
11320
12310
|
"locationInModule": {
|
|
11321
12311
|
"filename": "lib/table.ts",
|
|
11322
|
-
"line":
|
|
12312
|
+
"line": 147
|
|
11323
12313
|
},
|
|
11324
12314
|
"name": "compressed",
|
|
11325
12315
|
"optional": true,
|
|
@@ -11337,7 +12327,7 @@
|
|
|
11337
12327
|
"immutable": true,
|
|
11338
12328
|
"locationInModule": {
|
|
11339
12329
|
"filename": "lib/table.ts",
|
|
11340
|
-
"line":
|
|
12330
|
+
"line": 95
|
|
11341
12331
|
},
|
|
11342
12332
|
"name": "description",
|
|
11343
12333
|
"optional": true,
|
|
@@ -11356,7 +12346,7 @@
|
|
|
11356
12346
|
"immutable": true,
|
|
11357
12347
|
"locationInModule": {
|
|
11358
12348
|
"filename": "lib/table.ts",
|
|
11359
|
-
"line":
|
|
12349
|
+
"line": 184
|
|
11360
12350
|
},
|
|
11361
12351
|
"name": "enablePartitionFiltering",
|
|
11362
12352
|
"optional": true,
|
|
@@ -11375,7 +12365,7 @@
|
|
|
11375
12365
|
"immutable": true,
|
|
11376
12366
|
"locationInModule": {
|
|
11377
12367
|
"filename": "lib/table.ts",
|
|
11378
|
-
"line":
|
|
12368
|
+
"line": 159
|
|
11379
12369
|
},
|
|
11380
12370
|
"name": "encryption",
|
|
11381
12371
|
"optional": true,
|
|
@@ -11394,7 +12384,7 @@
|
|
|
11394
12384
|
"immutable": true,
|
|
11395
12385
|
"locationInModule": {
|
|
11396
12386
|
"filename": "lib/table.ts",
|
|
11397
|
-
"line":
|
|
12387
|
+
"line": 168
|
|
11398
12388
|
},
|
|
11399
12389
|
"name": "encryptionKey",
|
|
11400
12390
|
"optional": true,
|
|
@@ -11413,7 +12403,7 @@
|
|
|
11413
12403
|
"immutable": true,
|
|
11414
12404
|
"locationInModule": {
|
|
11415
12405
|
"filename": "lib/table.ts",
|
|
11416
|
-
"line":
|
|
12406
|
+
"line": 135
|
|
11417
12407
|
},
|
|
11418
12408
|
"name": "partitionIndexes",
|
|
11419
12409
|
"optional": true,
|
|
@@ -11436,7 +12426,7 @@
|
|
|
11436
12426
|
"immutable": true,
|
|
11437
12427
|
"locationInModule": {
|
|
11438
12428
|
"filename": "lib/table.ts",
|
|
11439
|
-
"line":
|
|
12429
|
+
"line": 126
|
|
11440
12430
|
},
|
|
11441
12431
|
"name": "partitionKeys",
|
|
11442
12432
|
"optional": true,
|
|
@@ -11459,7 +12449,7 @@
|
|
|
11459
12449
|
"immutable": true,
|
|
11460
12450
|
"locationInModule": {
|
|
11461
12451
|
"filename": "lib/table.ts",
|
|
11462
|
-
"line":
|
|
12452
|
+
"line": 114
|
|
11463
12453
|
},
|
|
11464
12454
|
"name": "s3Prefix",
|
|
11465
12455
|
"optional": true,
|
|
@@ -11467,6 +12457,32 @@
|
|
|
11467
12457
|
"primitive": "string"
|
|
11468
12458
|
}
|
|
11469
12459
|
},
|
|
12460
|
+
{
|
|
12461
|
+
"abstract": true,
|
|
12462
|
+
"docs": {
|
|
12463
|
+
"default": "- The parameter is not defined",
|
|
12464
|
+
"example": " declare const glueDatabase: glue.IDatabase;\n const table = new glue.Table(this, 'Table', {\n storageParameters: [\n glue.StorageParameter.skipHeaderLineCount(1),\n glue.StorageParameter.compressionType(glue.CompressionType.GZIP),\n glue.StorageParameter.custom('foo', 'bar'), // Will have no effect\n glue.StorageParameter.custom('separatorChar', ','), // Will describe the separator char used in the data\n glue.StorageParameter.custom(glue.StorageParameters.WRITE_PARALLEL, 'off'),\n ],\n // ...\n database: glueDatabase,\n columns: [{\n name: 'col1',\n type: glue.Schema.STRING,\n }],\n dataFormat: glue.DataFormat.CSV,\n });",
|
|
12465
|
+
"remarks": "These properties help describe the format of the data that is stored within the crawled data sources.\n\nThe key/value pairs that are allowed to be submitted are not limited, however their functionality is not guaranteed.\n\nSome keys will be auto-populated by glue crawlers, however, you can override them by specifying the key and value in this property.",
|
|
12466
|
+
"see": "https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_TABLE.html#r_CREATE_EXTERNAL_TABLE-parameters - under _\"TABLE PROPERTIES\"_",
|
|
12467
|
+
"stability": "experimental",
|
|
12468
|
+
"summary": "The user-supplied properties for the description of the physical storage of this table."
|
|
12469
|
+
},
|
|
12470
|
+
"immutable": true,
|
|
12471
|
+
"locationInModule": {
|
|
12472
|
+
"filename": "lib/table.ts",
|
|
12473
|
+
"line": 219
|
|
12474
|
+
},
|
|
12475
|
+
"name": "storageParameters",
|
|
12476
|
+
"optional": true,
|
|
12477
|
+
"type": {
|
|
12478
|
+
"collection": {
|
|
12479
|
+
"elementtype": {
|
|
12480
|
+
"fqn": "@aws-cdk/aws-glue-alpha.StorageParameter"
|
|
12481
|
+
},
|
|
12482
|
+
"kind": "array"
|
|
12483
|
+
}
|
|
12484
|
+
}
|
|
12485
|
+
},
|
|
11470
12486
|
{
|
|
11471
12487
|
"abstract": true,
|
|
11472
12488
|
"docs": {
|
|
@@ -11477,7 +12493,7 @@
|
|
|
11477
12493
|
"immutable": true,
|
|
11478
12494
|
"locationInModule": {
|
|
11479
12495
|
"filename": "lib/table.ts",
|
|
11480
|
-
"line":
|
|
12496
|
+
"line": 175
|
|
11481
12497
|
},
|
|
11482
12498
|
"name": "storedAsSubDirectories",
|
|
11483
12499
|
"optional": true,
|
|
@@ -11495,7 +12511,7 @@
|
|
|
11495
12511
|
"immutable": true,
|
|
11496
12512
|
"locationInModule": {
|
|
11497
12513
|
"filename": "lib/table.ts",
|
|
11498
|
-
"line":
|
|
12514
|
+
"line": 88
|
|
11499
12515
|
},
|
|
11500
12516
|
"name": "tableName",
|
|
11501
12517
|
"optional": true,
|
|
@@ -11750,8 +12766,41 @@
|
|
|
11750
12766
|
}
|
|
11751
12767
|
],
|
|
11752
12768
|
"symbolId": "lib/job:WorkerType"
|
|
12769
|
+
},
|
|
12770
|
+
"@aws-cdk/aws-glue-alpha.WriteParallel": {
|
|
12771
|
+
"assembly": "@aws-cdk/aws-glue-alpha",
|
|
12772
|
+
"docs": {
|
|
12773
|
+
"remarks": "By default, Redshift Spectrum sets the value to null for data that exceeds the width of the column.",
|
|
12774
|
+
"see": "https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_TABLE.html#r_CREATE_EXTERNAL_TABLE-parameters - under _\"TABLE PROPERTIES\"_ > _\"surplus_char_handling\"_",
|
|
12775
|
+
"stability": "experimental",
|
|
12776
|
+
"summary": "Specifies how to handle data being loaded that exceeds the length of the data type defined for columns containing VARCHAR, CHAR, or string data."
|
|
12777
|
+
},
|
|
12778
|
+
"fqn": "@aws-cdk/aws-glue-alpha.WriteParallel",
|
|
12779
|
+
"kind": "enum",
|
|
12780
|
+
"locationInModule": {
|
|
12781
|
+
"filename": "lib/storage-parameter.ts",
|
|
12782
|
+
"line": 183
|
|
12783
|
+
},
|
|
12784
|
+
"members": [
|
|
12785
|
+
{
|
|
12786
|
+
"docs": {
|
|
12787
|
+
"stability": "experimental",
|
|
12788
|
+
"summary": "Write data in parallel."
|
|
12789
|
+
},
|
|
12790
|
+
"name": "ON"
|
|
12791
|
+
},
|
|
12792
|
+
{
|
|
12793
|
+
"docs": {
|
|
12794
|
+
"stability": "experimental",
|
|
12795
|
+
"summary": "Write data serially."
|
|
12796
|
+
},
|
|
12797
|
+
"name": "OFF"
|
|
12798
|
+
}
|
|
12799
|
+
],
|
|
12800
|
+
"name": "WriteParallel",
|
|
12801
|
+
"symbolId": "lib/storage-parameter:WriteParallel"
|
|
11753
12802
|
}
|
|
11754
12803
|
},
|
|
11755
|
-
"version": "2.
|
|
12804
|
+
"version": "2.90.0-alpha.0",
|
|
11756
12805
|
"fingerprint": "**********"
|
|
11757
12806
|
}
|