GaussDB(DWS) SQL On Anywhere之外表

举报
别相信任何人~ 发表于 2020/11/13 18:20:41 2020/11/13
【摘要】 背景Hadoop的诞生是划时代的数据变革,但关系型数据库时代的存留也为Hadoop真正占领数据库领域埋下了许多的障碍。对SQL(尤其是PL/SQL)的支持一直是Hadoop大数据平台在替代旧数据时代亟待解决的问题。Hadoop对SQL数据库的支持度一直是企业用户最关心的诉求点之一,也是他们选择的Hadoop平台的重要标准。Hadoop开源技术具有高扩展性,实际生产环境已经可以支持部署几千个 ...

背景

Hadoop的诞生是划时代的数据变革,但关系型数据库时代的存留也为Hadoop真正占领数据库领域埋下了许多的障碍。对SQL(尤其是PL/SQL)的支持一直是Hadoop大数据平台在替代旧数据时代亟待解决的问题。Hadoop对SQL数据库的支持度一直是企业用户最关心的诉求点之一,也是他们选择的Hadoop平台的重要标准。

Hadoop开源技术具有高扩展性,实际生产环境已经可以支持部署几千个 物理节点,提供PB级数据分析能力,支持运行在通用廉价的x86 Linux服 务器上,数据存储在内置盘上,且无商业软件license费用;Hadoop通过技术能力(sql支持,MR内存计算,MPP)的演进以及众多 非传统关系型数据库厂商的支持,正在从最初的只处理低价值低密度数 据的批处理型任务,向中等价值数据的分析处理任务演进。


融合

大数据生态与MPPDB传统数据库的融合方案有以下两种:

(1)远程查询方案,以关系型数据库作为集成节点,将查询发送给Hadoop,并接收Hadoop的计算结果,查询分析在Hadoop平台完成,采用这种方式的厂商有 Oracle,Teradata,SQL Server等;

(2)查询引擎直接访问HDFS数据方案,分析由传统数据库引擎完成,代表产品有PIVOTAL HAWQ,IBM BigSQL 3.0等。

出于性能考虑GaussDB(DWS)选择的是第二种方案。CN将任务分解下发至各个DN,以实现节点间并行,使得调度计算节点更靠近数据存储节点。

特点

支持多DN并发查询;支持和本地多表join;支持analyze收集统计信息;格式支持丰富,易扩展。


使用

用户通过建立外部服务器Server(外部服务器是存储HDFS集群信息、OBS服务器信息或其他同构集群信息的载体)

-- 创建HDFS_Server。
CREATE hdfs_server FOREIGN DATA WRAPPER HDFS_FDW OPTIONS 
(
    address '10.10.0.100:25000,10.10.0.101:25000',
    hdfscfgpath '/opt/hadoop_client/HDFS/hadoop/etc/hadoop',
    type'HDFS'
);

创建Foreign Table在GaussDB(DWS)数据库内部定义对应的HDFS/OBS数据源上结构化数据表的结构。

-- 建立不包含分区列的HDFS外表,表关联的HDFS server为hdfs_server,表region对应的HDFS服务器上的文件格式为‘orc’,在HDFS文件系统上对应的文件目录为'/user/hive/warehouse/mppdb.db/region_orc11_64stripe/'。
CREATE FOREIGN TABLE region
(
    R_REGIONKEY INT4,
    R_NAME TEXT,
    R_COMMENT TEXT)SERVER
    hdfs_serverOPTIONS(
    FORMAT 'orc',
    encoding 'utf8',
    FOLDERNAME '/user/hive/warehouse/mppdb.db/region_orc11_64stripe/'
)DISTRIBUTE BY roundrobin;

查看外表

-- 查看外表。
SELECT * FROM pg_foreign_table WHERE ftrelid='region'::regclass;

 ftrelid | ftserver | ftwriteonly |                                  ftoptions
---------+----------+-------------+------------------------------------------------------------------------------
  16510 |    16509 | f           | {format=orc,foldername=/user/hive/warehouse/mppdb.db/region_orc11_64stripe/}
(1 row)


本章简单介绍了GaussDB(DWS)通过外表访问HDFS/OBS上的文件,下一篇中将介绍SQL On Hadoop系统分类,以及业内主流的SQL On Hadoop系统,如HIve、Impala、HAWQ等。

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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