Catalog Table Args
data class CatalogTableArgs(val catalogId: Output<String>? = null, val databaseName: Output<String>? = null, val description: Output<String>? = null, val name: Output<String>? = null, val owner: Output<String>? = null, val parameters: Output<Map<String, String>>? = null, val partitionIndices: Output<List<CatalogTablePartitionIndexArgs>>? = null, val partitionKeys: Output<List<CatalogTablePartitionKeyArgs>>? = null, val retention: Output<Int>? = null, val storageDescriptor: Output<CatalogTableStorageDescriptorArgs>? = null, val tableType: Output<String>? = null, val targetTable: Output<CatalogTableTargetTableArgs>? = null, val viewExpandedText: Output<String>? = null, val viewOriginalText: Output<String>? = null) : ConvertibleToJava<CatalogTableArgs>
Provides a Glue Catalog Table Resource. You can refer to the Glue Developer Guide for a full explanation of the Glue Data Catalog functionality.
Example Usage
Basic Table
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.glue.CatalogTable;
import com.pulumi.aws.glue.CatalogTableArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var awsGlueCatalogTable = new CatalogTable("awsGlueCatalogTable", CatalogTableArgs.builder()
.databaseName("MyCatalogDatabase")
.name("MyCatalogTable")
.build());
}
}
Content copied to clipboard
Parquet Table for Athena
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.glue.CatalogTable;
import com.pulumi.aws.glue.CatalogTableArgs;
import com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorArgs;
import com.pulumi.aws.glue.inputs.CatalogTableStorageDescriptorSerDeInfoArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var awsGlueCatalogTable = new CatalogTable("awsGlueCatalogTable", CatalogTableArgs.builder()
.databaseName("MyCatalogDatabase")
.name("MyCatalogTable")
.parameters(Map.ofEntries(
Map.entry("EXTERNAL", "TRUE"),
Map.entry("parquet.compression", "SNAPPY")
))
.storageDescriptor(CatalogTableStorageDescriptorArgs.builder()
.columns(
CatalogTableStorageDescriptorColumnArgs.builder()
.name("my_string")
.type("string")
.build(),
CatalogTableStorageDescriptorColumnArgs.builder()
.name("my_double")
.type("double")
.build(),
CatalogTableStorageDescriptorColumnArgs.builder()
.comment("")
.name("my_date")
.type("date")
.build(),
CatalogTableStorageDescriptorColumnArgs.builder()
.comment("")
.name("my_bigint")
.type("bigint")
.build(),
CatalogTableStorageDescriptorColumnArgs.builder()
.comment("")
.name("my_struct")
.type("struct<my_nested_string:string>")
.build())
.inputFormat("org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat")
.location("s3://my-bucket/event-streams/my-stream")
.outputFormat("org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat")
.serDeInfo(CatalogTableStorageDescriptorSerDeInfoArgs.builder()
.name("my-stream")
.parameters(Map.of("serialization.format", 1))
.serializationLibrary("org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe")
.build())
.build())
.tableType("EXTERNAL_TABLE")
.build());
}
}
Content copied to clipboard
Import
Glue Tables can be imported with their catalog ID (usually AWS account ID), database name, and table name, e.g.,
$ pulumi import aws:glue/catalogTable:CatalogTable MyTable 123456789012:MyDatabase:MyTable
Content copied to clipboard
Constructors
Link copied to clipboard
fun CatalogTableArgs(catalogId: Output<String>? = null, databaseName: Output<String>? = null, description: Output<String>? = null, name: Output<String>? = null, owner: Output<String>? = null, parameters: Output<Map<String, String>>? = null, partitionIndices: Output<List<CatalogTablePartitionIndexArgs>>? = null, partitionKeys: Output<List<CatalogTablePartitionKeyArgs>>? = null, retention: Output<Int>? = null, storageDescriptor: Output<CatalogTableStorageDescriptorArgs>? = null, tableType: Output<String>? = null, targetTable: Output<CatalogTableTargetTableArgs>? = null, viewExpandedText: Output<String>? = null, viewOriginalText: Output<String>? = null)
Functions
Properties
Link copied to clipboard
Link copied to clipboard
Configuration block for information about the physical storage of this table. For more information, refer to the Glue Developer Guide. See storage_descriptor
below.