TableArgs

data class TableArgs(val database: Output<String>? = null, val hiveOptions: Output<TableHiveOptionsArgs>? = null, val name: Output<String>? = null, val type: Output<String>? = null) : ConvertibleToJava<TableArgs>

Represents a table. To get more information about Table, see:

Example Usage

Biglake Table

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.biglake.Catalog;
import com.pulumi.gcp.biglake.CatalogArgs;
import com.pulumi.gcp.storage.Bucket;
import com.pulumi.gcp.storage.BucketArgs;
import com.pulumi.gcp.storage.BucketObject;
import com.pulumi.gcp.storage.BucketObjectArgs;
import com.pulumi.gcp.biglake.Database;
import com.pulumi.gcp.biglake.DatabaseArgs;
import com.pulumi.gcp.biglake.inputs.DatabaseHiveOptionsArgs;
import com.pulumi.gcp.biglake.Table;
import com.pulumi.gcp.biglake.TableArgs;
import com.pulumi.gcp.biglake.inputs.TableHiveOptionsArgs;
import com.pulumi.gcp.biglake.inputs.TableHiveOptionsStorageDescriptorArgs;
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 catalog = new Catalog("catalog", CatalogArgs.builder()
.location("US")
.build());
var bucket = new Bucket("bucket", BucketArgs.builder()
.location("US")
.forceDestroy(true)
.uniformBucketLevelAccess(true)
.build());
var metadataFolder = new BucketObject("metadataFolder", BucketObjectArgs.builder()
.content(" ")
.bucket(bucket.name())
.build());
var dataFolder = new BucketObject("dataFolder", BucketObjectArgs.builder()
.content(" ")
.bucket(bucket.name())
.build());
var database = new Database("database", DatabaseArgs.builder()
.catalog(catalog.id())
.type("HIVE")
.hiveOptions(DatabaseHiveOptionsArgs.builder()
.locationUri(Output.tuple(bucket.name(), metadataFolder.name()).applyValue(values -> {
var bucketName = values.t1;
var metadataFolderName = values.t2;
return String.format("gs://%s/%s", bucketName,metadataFolderName);
}))
.parameters(Map.of("owner", "Alex"))
.build())
.build());
var table = new Table("table", TableArgs.builder()
.database(database.id())
.type("HIVE")
.hiveOptions(TableHiveOptionsArgs.builder()
.tableType("MANAGED_TABLE")
.storageDescriptor(TableHiveOptionsStorageDescriptorArgs.builder()
.locationUri(Output.tuple(bucket.name(), dataFolder.name()).applyValue(values -> {
var bucketName = values.t1;
var dataFolderName = values.t2;
return String.format("gs://%s/%s", bucketName,dataFolderName);
}))
.inputFormat("org.apache.hadoop.mapred.SequenceFileInputFormat")
.outputFormat("org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat")
.build())
.parameters(Map.ofEntries(
Map.entry("spark.sql.create.version", "3.1.3"),
Map.entry("spark.sql.sources.schema.numParts", "1"),
Map.entry("transient_lastDdlTime", "1680894197"),
Map.entry("spark.sql.partitionProvider", "catalog"),
Map.entry("owner", "John Doe"),
Map.entry("spark.sql.sources.schema.part.0", "{\"type\":\"struct\",\"fields\":[{\"name\":\"id\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{}},{\"name\":\"name\",\"type\":\"string\",\"nullable\":true,\"metadata\":{}},{\"name\":\"age\",\"type\":\"integer\",\"nullable\":true,\"metadata\":{}}]}"),
Map.entry("spark.sql.sources.provider", "iceberg"),
Map.entry("provider", "iceberg")
))
.build())
.build());
}
}

Import

Table can be imported using any of these accepted formats:

$ pulumi import gcp:biglake/table:Table default {{database}}/tables/{{name}}

Constructors

Link copied to clipboard
constructor(database: Output<String>? = null, hiveOptions: Output<TableHiveOptionsArgs>? = null, name: Output<String>? = null, type: Output<String>? = null)

Properties

Link copied to clipboard
val database: Output<String>? = null

The id of the parent database.

Link copied to clipboard
val hiveOptions: Output<TableHiveOptionsArgs>? = null

Options of a Hive table. Structure is documented below.

Link copied to clipboard
val name: Output<String>? = null

Output only. The name of the Table. Format: projects/{project_id_or_number}/locations/{locationId}/catalogs/{catalogId}/databases/{databaseId}/tables/{tableId}

Link copied to clipboard
val type: Output<String>? = null

The database type. Possible values are: HIVE.

Functions

Link copied to clipboard
open override fun toJava(): TableArgs