TableOptimizer ​
The TableOptimizer resource allows you to manage AWS Glue TableOptimizers for optimizing table configurations in your Glue Data Catalog.
Minimal Example ​
Create a basic TableOptimizer with the required properties.
ts
import AWS from "alchemy/aws/control";
const basicTableOptimizer = await AWS.Glue.TableOptimizer("basicTableOptimizer", {
TableName: "sales_data",
Type: "AUTO",
DatabaseName: "production_db",
TableOptimizerConfiguration: {
MaxPartitions: 1000,
EnableAutoOptimization: true
},
CatalogId: "123456789012" // Your AWS account ID
});
Advanced Configuration ​
Configure a TableOptimizer with advanced settings for more control over optimization behavior.
ts
const advancedTableOptimizer = await AWS.Glue.TableOptimizer("advancedTableOptimizer", {
TableName: "user_activity",
Type: "MANUAL",
DatabaseName: "analytics_db",
TableOptimizerConfiguration: {
MaxPartitions: 5000,
EnableAutoOptimization: false,
OptimizationStrategy: "COMPRESSION"
},
CatalogId: "123456789012", // Your AWS account ID
adopt: true // Adopt existing resource if it exists
});
Optimization for Large Tables ​
Set up a TableOptimizer specifically for large tables with specific optimization strategies.
ts
const largeTableOptimizer = await AWS.Glue.TableOptimizer("largeTableOptimizer", {
TableName: "transaction_records",
Type: "AUTO",
DatabaseName: "financial_db",
TableOptimizerConfiguration: {
MaxPartitions: 20000,
EnableAutoOptimization: true,
OptimizationStrategy: "SORT"
},
CatalogId: "123456789012" // Your AWS account ID
});