数据仓库服务 GaussDB(DWS)-创建外表
创建外表
当完成创建外部服务器后,在 GaussDB (DWS)数据库中创建一个HDFS只写外表,用来访问存储在HDFS上的数据。此外表是只写的,只能用于导出操作。
1 2 3 4 5 6 7 8 91011 |
CREATE FOREIGN TABLE [ IF NOT EXISTS ] table_name ( [ { column_name type_name [ { [CONSTRAINT constraint_name] NULL | [CONSTRAINT constraint_name] NOT NULL | column_constraint [...]} ] | table_constraint [, ...]} [, ...] ] ) SERVER dfs_server OPTIONS ( { option_name ' value ' } [, ...] ) [ {WRITE ONLY }] DISTRIBUTE BY {ROUNDROBIN | REPLICATION} [ PARTITION BY ( column_name ) [ AUTOMAPPED ] ] ; |
例如,创建一个名为"product_info_ext_obs"的外表,对语法中的参数按如下描述进行设置:
- table_name
外表的表名。
- 表字段定义
- column_name:外表中的字段名。
- type_name:字段的数据类型。
多个字段用“,”隔开。
- SERVER dfs_server
外表的外部服务器名称,这个server必须存在。外表通过设置外部服务器连接OBS/HDFS读取数据。
此处应参考创建外部服务器中创建的外部服务器名称填写。
- OPTIONS 参数
用于指定外表数据的各类参数,关键参数如下所示。
- “format”:表示导出的数据文件格式,支持“orc”格式。
- “foldername”:外表中数据源文件目录,即表数据目录在HDFS文件系统上对应的文件目录。此选项对WRITE ONLY外表为必选项,对READ ONLY外表为可选项。
- “encoding”:外表中数据源文件的编码格式名称,缺省为utf8。
- filesize
指定WRITE ONLY外表的文件大小。此选项为可选项,不指定该选项默认分布式文件系统配置中文件大小的配置值。此语法仅对WRITE ONLY的外表有效。
取值范围:[1, 1024]的整数。
filesize参数只对ORC格式的WRITE ONLY的HDFS外表有效。
- compression
指定ORC格式文件的压缩方式,此选项为可选项。此语法仅对WRITE ONLY的外表有效。
取值范围:zlib,snappy,lz4。缺省值为snappy。
- version
指定ORC格式的版本号,此选项为可选项。此语法仅对WRITE ONLY的外表有效。
取值范围:目前仅支持0.12。缺省值为0.12。
- dataencoding
在数据库编码与数据表的数据编码不一致时,该参数用于指定导出数据表的数据编码。比如数据库编码为Latin-1,而导出的数据表中的数据为UTF-8编码。此选项为可选项,如果不指定该选项,默认采用数据库编码。此语法仅对HDFS的WRITE ONLY外表有效。
取值范围:该数据库编码支持转换的数据编码。
dataencoding参数只对ORC格式的WRITE ONLY的HDFS外表有效。
- 语法中的其他参数
其他参数均为可选参数,用户可以根据自己的需求进行设置,在本例中我们不需要设置。详细的描述请参见CREATE FOREIGN TABLE (SQL on Hadoop or OBS)。
根据以上信息,创建外表命令如下所示:
1 2 3 4 5 6 7 8 9101112131415161718192021222324
DROP FOREIGN TABLE IF EXISTS product_info_ext_obs;---建立不包含分区列的HDFS外表,表关联的外部服务器为hdfs_server,表对应的HDFS服务上的文件格式为‘orc’,HDFS上的数据存储路径为'/user/hive/warehouse/product_info_orc/'。CREATE FOREIGN TABLE product_info_ext_obs( product_price integer , product_id char(30) , product_time date , product_level char(10) , product_name varchar(200) , product_type1 varchar(20) , product_type2 char(10) , product_monthly_sales_cnt integer , product_comment_time date , product_comment_num integer , product_comment_content varchar(200) ) SERVER hdfs_server OPTIONS (format 'orc', foldername '/user/hive/warehouse/product_info_orc/', compression 'snappy', version '0.12') Write Only;
- 数据仓库服务GaussDB(DWS)_SQL on Anywhere
- DWS安全_数据仓库服务安全_DWS数据安全管理_DWS安全保障_DWS安全策略
- 调用GaussDB(DWS) API接口_数据仓库服务调用API_如何调用API_在DWS中调用API
- GAUSS(DWS)工具_gsql工具_DataStudio工具_DSC工具
- DWS资源管理_GaussDB(DWS)资源管理作用_DWS资源管控
- DWS产品介绍_DWS产品优势_DWS功能_DWS使用场景_DWS是什么
- GaussDB(DWS)常用SQL_常用SQL命令_SQL语法
- 数据库监控DMS_数据库智能运维_了解Auto Pilot_DMS_DWS节点监控
- 华为云资料 2021年 7月刊
- GaussDB(DWS)服务_什么是IoT数仓_如何使用IoT数仓