数据仓库服务 GAUSSDB(DWS)-管理OBS数据源:使用OBS数据源
使用OBS数据源
GaussDB (DWS)使用外表方式访问OBS上的数据。委托方式与非委托方式,在外表上体现出来的差异仅在于指定了不同的SERVER。
对于非委托方式,控制台提供的SERVER包含access_key和secret_access_key参数,分别对应OBS访问协议的AK和SK值。
对于委托方式,控制台提供的SERVER包含access_key、secret_access_key和security_token参数,分别对应OBS访问协议的临时AK、临时SK和 统一身份认证 服务 IAM 中临时安全凭证的SecurityToken值。
在创建好OBS委托和OBS数据源之后,用户从控制台获得相应的包含委托信息的SERVER,假设OBS数据源名称为obs_server。用户创建和使用外表与非委托方式无差异。关于如何使用OBS数据源,具体请参见从OBS导入数据。
如下示例为某普通用户jim通过外表读取OBS上的数据。
- 参见以上步骤创建OBS数据源,名称为obs_server。
- 使用系统管理员dbadmin连接数据库,创建普通用户,并授权该普通用户使用OBS server和OBS外表权限。 其中{Password}替换为用户实际密码,obs_server替换成实际的OBS数据源名称。
1 2 3
CREATE USER jim PASSWORD '{Password}'; ALTER USER jim USEFT; GRANT USAGE ON FOREIGN SERVER obs_server TO jim;
- 使用普通用户jim连接数据库,建立OBS外表customer_address,不包含分区列。
以下命令中,obs_server替换为上面实际创建的OBS数据源名称。目录/user/obs/region_orc11_64stripe1/替换为实际数据文件存放的OBS目录,user表示用户的OBS桶名称。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
CREATE FOREIGN TABLE customer_address ( ca_address_sk integer not null, ca_address_id char(16) not null, ca_street_number char(10) , ca_street_name varchar(60) , ca_street_type char(15) , ca_suite_number char(10) , ca_city varchar(60) , ca_county varchar(30) , ca_state char(2) , ca_zip char(10) , ca_country varchar(20) , ca_gmt_offset decimal(36,33) , ca_location_type char(20) ) SERVER obs_server OPTIONS ( FOLDERNAME '/user/obs/region_orc11_64stripe1/', FORMAT 'ORC', ENCODING 'utf8', TOTALROWS '20' ) DISTRIBUTE BY roundrobin;
- 通过外表查询OBS上的数据。
1 2 3 4 5
SELECT COUNT(*) FROM customer_address; count ------- 20 (1row)
- 数据仓库服务GaussDB(DWS)_SQL on Anywhere
- 调用GaussDB(DWS) API接口_数据仓库服务调用API_如何调用API_在DWS中调用API
- OBS有什么功能_OBS使用_简单了解OBS
- DWS安全_数据仓库服务安全_DWS数据安全管理_DWS安全保障_DWS安全策略
- DWS资源管理_GaussDB(DWS)资源管理作用_DWS资源管控
- 怎么用OBS直播_OBS如何使用_对象存储技术
- 什么是数据湖探索服务_数据湖探索DLI用途与特点
- 云数据迁移_什么是CDM_-华为云
- OBS如何绑定自定义域名_OBS如何使用CDN加速_OBS如何使用CDN自动刷新
- 大数据应用范围有哪些_大数据技术与应用要学习什么课程