数据仓库服务 GAUSSDB(DWS)-创建外表:创建外表
创建外表
当完成获取 MRS 数据源连接的外部服务器信息和获取MRS数据源的HDFS路径后,就可以创建一个外表,用于读取MRS数据源数据。
创建外表的语法格式如下,详细的描述请参见(CREATE FOREIGN TABLE (SQL on Hadoop or OBS))。
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 ' } [, ...] ) DISTRIBUTE BY {ROUNDROBIN | REPLICATION} [ PARTITION BY ( column_name ) [ AUTOMAPPED ] ] ;
例如,创建一个名为"foreign_product_info"的外表,对语法中的参数按如下描述进行设置:
- table_name
必选。外表的表名。
- 表字段定义
- column_name:外表中的字段名。
- type_name:字段的数据类型。
多个字段用“,”隔开。
外表的字段个数和字段类型,需要与MRS上保存的数据完全一致。定义字段的数据类型之前,您必须先了解数据类型转换说明。
- SERVER dfs_server
外表的外部服务器名称,这个server必须存在。外表通过设置外部服务器,从而关联MRS数据源连接并从MRS集群读取数据。
此处应填写为通过获取MRS数据源连接的外部服务器信息查询到的“srvname”字段的值。
- OPTIONS参数
用于指定外表数据的各类参数,关键参数如下所示。
- format:必选参数。取值只支持“orc”。表示数据源文件的格式,只支持Hive的ORC数据文件。
- foldername:必选参数。表示数据在HDFS的存储目录或数据文件路径。
如果是启用了Kerberos认证的MRS分析集群,请确保MRS数据源连接的MRS用户,拥有此目录的读取权限。
请按照获取MRS数据源的HDFS路径中的步骤获取HDFS路径,该路径作为foldername的参数值。
- encoding:可选参数。外表中数据源文件的编码格式名称,缺省为utf8。
- DISTRIBUTE BY
表示外表的数据读取方式。有以下两种方式供选择,在本例中选择ROUNDROBIN。
- ROUNDROBIN:表示外表在从数据源读取数据时, GaussDB (DWS)集群每一个节点读取随机一部分数据,并组成完整数据。
- REPLICATION:表示外表在从数据源读取数据时,GaussDB(DWS)集群每一个节点都读取一份完整数据。
- 语法中的其他参数
其他参数均为可选参数,用户可以根据自己的需求进行设置,在本例中不需要设置。
根据以上信息,创建外表命令如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
DROP FOREIGN TABLE IF EXISTS foreign_product_info; CREATE FOREIGN TABLE foreign_product_info ( 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_8f79ada0_d998_4026_9020_80d6de2692ca OPTIONS ( format 'orc', encoding 'utf8', foldername '/user/hive/warehouse/demo.db/product_info_orc/' ) DISTRIBUTE BY ROUNDROBIN; |
- 数据仓库服务GaussDB(DWS)_SQL on Anywhere
- DWS安全_数据仓库服务安全_DWS数据安全管理_DWS安全保障_DWS安全策略
- 调用GaussDB(DWS) API接口_数据仓库服务调用API_如何调用API_在DWS中调用API
- GAUSS(DWS)工具_gsql工具_DataStudio工具_DSC工具
- GaussDB(DWS)常用SQL_常用SQL命令_SQL语法
- DWS资源管理_GaussDB(DWS)资源管理作用_DWS资源管控
- DWS产品介绍_DWS产品优势_DWS功能_DWS使用场景_DWS是什么
- 数据库监控DMS_数据库智能运维_了解Auto Pilot_DMS_DWS节点监控
- 华为云资料 2021年 7月刊
- GaussDB(DWS)服务_什么是IoT数仓_如何使用IoT数仓