类型
Resource
标签
aws_glue_catalog_database
AWS服务
Glue
说明
主要用于创建Glue Catalog Table资源。
样例
简单样例
resource "aws_glue_catalog_table" "aws_glue_catalog_table" { name = "MyCatalogTable" database_name = "MyCatalogDatabase" }
Parquet Table for Athena
resource "aws_glue_catalog_table" "aws_glue_catalog_table" { name = "MyCatalogTable" database_name = "MyCatalogDatabase" table_type = "EXTERNAL_TABLE" parameters = { EXTERNAL = "TRUE" "parquet.compression" = "SNAPPY" } storage_descriptor { location = "s3://my-bucket/event-streams/my-stream" input_format = "org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat" output_format = "org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat" ser_de_info { name = "my-stream" serialization_library = "org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe" parameters = { "serialization.format" = 1 } } columns { name = "my_string" type = "string" } columns { name = "my_double" type = "double" } columns { name = "my_date" type = "date" comment = "" } columns { name = "my_bigint" type = "bigint" comment = "" } columns { name = "my_struct" type = "struct<my_nested_string:string>" comment = "" } } }
参数
name:(必选)表的名称。
database_name:(必选)表所在数据库的名称。
catalog_id:(可选)表所在中央元数据存储库catalog的id和数据库名称。如果省略,则默认为AWS帐户ID加上数据库名称。
description:(可选)表的描述。
owner:(可选)表的所有者。
parameters:(可选)定义与此表关联属性的键值对列表。
partition_index:(可选)分区索引配置块。包括如下参数:
- index_name:(必选)分区索引的名称。
- keys:(必选)分区索引的分区键。
partition_keys:(可选)分区表的列的配置块,仅支持基本类型作为分区键。包括如下参数:
- name:(必选)分区键的名称。
- comment:(可选)分区键的注释。
- type:(可选)分区键中数据的数据类型。
retention:(可选)此表的保留时间。
storage_descriptor:(可选)记录此表的物理存储的信息的配置块。包括如下参数:
- bucket_columns:(可选)表中grouping列,clustering列和bucketing列的列表
- columns:(可选)表中列的配置块。包括如下参数:
- comment:(可选)列的注释。
- name:(必选)列名。
- parameters:(可选)定义与此列关联属性的键值对列表。
- type:(可选)列数据的数据类型。
- compressed:(可选)表中的数据是否压缩。
- input_format:(可选)表的输入格式。可选项SequenceFileInputFormat,TextInputFormat,或者自定义格式。
- location:(可选)表的物理位置。
- number_of_buckets:(可选)表中含有维度列,则必选。
- output_format:(可选)表的输出格式。可选项SequenceFileInputFormat,TextInputFormat,或者自定义格式。
- parameters:(可选)定义与此表的物理存储的信息关联属性的键值对列表。
- schema_reference:(可选)记录存储在Glue中表的Schema信息配置块。包含如下参数:
- schema_id:(可选)Schema信息id配置块。包含如下参数:
- registry_name:(可选)注册名称。
- schema_arn:(可选)Schema的arn。schema_arn和schema_name必选其中一个进行填写。
- schema_name:(可选)Schema的名称。schema_arn和schema_name必选其中一个进行填写。
- schema_version_id:(可选)Schema信息版本id。
- schema_version_number:(必选)Schema信息版本号。
ser_de_info:(可选)序列化和反序列化(“SerDe”)信息的配置块。包含如下参数:
- schema_id:(可选)Schema信息id配置块。包含如下参数:
- name:(可选)SerDe的名称。
- parameters:(可选)定义与SerDe关联属性的键值对列表。
- serialization_library:(可选)实现SerDe的类的全限定名。如:org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe
- skewed_column_names:(可选)表中包含倾斜值的列的列表。
- skewed_column_value_location_maps:(可选)表中包含倾斜值的值列表。
- skewed_column_values:(可选)表中倾斜值和倾斜值的列映射关系的列表。
- sort_columns:(可选)bucket的排列顺序的配置块。包含如下参数:
- column:(必选)列名。
- sort_order:(必选)排列顺序规则。按列进行升序(1)排序或者降序(0)排序。
- stored_as_sub_directories:(可选)表数据是否存储在子目录中。
table_type:(可选)此表的类型(外部表、虚拟视图等)。如果省略,某些Athena DDL查询(如ALTER TABLE和SHOW CREATE TABLE)可能会执行失败。
target_table:(可选)用于资源链接的目标表的配置块。包括如下参数:
- catalog_id:(必选)目的表所在中央元数据存储库catalog的id。
- database_name:(必选)目的表所在数据库的名称。
- name:(必选)目标表名称。
view_expanded_text:(可选)视图的扩展文本;如果该表不为视图否则为空。
view_original_text:(可选)视图的原始文本;如果该表不为视图否则为空。
属性引用
除上述所有参数外,还将访问该资源的以下属性:
arn:表的接入点arn。
id:数据库所在的中央元数据存储库catalog的id、数据库名称和表名称。
资源导入
替换如下命令行中的参数${catalog_id}、${database_name}和${table_name}并运行,可以导入Glue 数据库中对应表: