DWS只写分区hdfs外表能力

举报
dgt 发表于 2024/01/10 15:26:54 2024/01/10
【摘要】 DWS支持sql on hadoop(hdfs)能力,在8.0版本支持只读表,在8.1.1引入了只写外表(紧支持orc只写文件),同时也支持分区表的只写,本文测试验证只写外表的分区能力。

DWS支持sql on hadoop(hdfs)能力,在8.0版本支持只读表,在8.1.1引入了只写外表(紧支持orc只写文件),同时也支持分区表的只写,本文测试验证只写外表的分区能力。
首先需要配置好hdfs,例如云上将core-site.xml,elk-site.xml,hdfs-site.xml,krb5.conf,user.keytab文件/home/Ruby/hdfs_conf下,具体配置方式本文略,参考产品文档。
1、创建hdfs_server
CREATE SERVER hdfs_server FOREIGN DATA WRAPPER HDFS_FDW OPTIONS (address '10.10.0.100:25000',hdfscfgpath '/home/Ruby/hdfs_conf',type'HDFS');
2、创建普通表,并插入数据
create table a_temp2(id int,con text,pt_dt text);
insert into a_temp2 values(1,'a','202312'),(2,'c','202312'),(3,'c','202401');
3、创建只写外表
create foreign table fw_a_temp2(id int,con text,pt_dt text)
server hdfs_server
options (encoding 'UTF8',foldername '/user/hive/a_temp2/',format 'orc')
write only
partition (pt_dt);
向只写外表插入数据
insert into fw_a_temp2 select * from a_temp2;
此时执行如下命令
hdfs dfs -ls hdfs://10.10.0.100:25000/user/hive/a_temp2
从hdfs查询文件时,可以看到类似如下内容
drwxr-xr-x - hive hive 2024-01-10 14:06 hdfs://10.10.0.100:25000/user/hive/a_temp2/pt_dt=202312
drwxr-xr-x - hive hive 2024-01-10 14:06 hdfs://10.10.0.100:25000/user/hive/a_temp2/pt_dt=202401
可以看到自动创建了分区
执行如下命令
hdfs dfs -ls hdfs://10.10.0.100:25000/user/hive/a_temp2/pt_dt=202312
从hdfs查询文件时,可以看到类似如下内容
drwxr-xr-x - hive hive 2024-01-10 14:06 hdfs://10.10.0.100:25000/user/hive/a_temp2/pt_dt=202312/mpp_postgres_public_fw_a_temp2_dn_6001_6002_1.orc
drwxr-xr-x - hive hive 2024-01-10 14:06 hdfs://10.10.0.100:25000/user/hive/a_temp2/pt_dt=202312/mpp_postgres_public_fw_a_temp2_dn_6003_6004_1.orc
4、创建只读外表
create foreign table fr_a_temp2(id int,con text,pt_dt text)
server hdfs_server
options (encoding 'UTF8',foldername '/user/hive/a_temp2/',format 'orc')
read only 
distribute by roundrobin
partition (pt_dt) automapped;

执行explain select * from fr_a_temp2 where pt_dt='202312';
可以从执行计划看到走了分区裁剪
Partition pruning: pt_dt(total 2;left 1)


当前dws只读外表支持多级分区,只写外表只支持一级分区。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。