HAWQ--表的分布和存储

Table Distribution and Storage

HAWQ存储除了系统表以外的所有的表数据在HDFS。一个用户创建一个表时,元数据存储在master的本地文件系统,表内容存储在HDFS。

为了简化表数据的管理,所有的关联数据存放在一个HDFS目录。

对于所有HAWQ表存储格式、AO (append only)和Parquet,数据文件都是可分割的,这样HAWQ就可以分配多个虚拟段并行的使用一个数据文件。这增加了查询并行度。

Table Distribution Policy

HAWQ中的默认表分发策略是随机的。

随机分布的表比散列分布的表有一些优点。例如,在集群扩展之后,HAWQ可以自动使用更多的资源,而无需重新分配数据。对于大型表,重新分配非常昂贵,并且在底层HDFS数据再平衡或DataNode故障期间重新分配数据之后,随机分布表的数据更好。当集群很大时很常见的。

另一方面,对于某些查询,散列分布的表要比随机分布的表快。例如,散列分布式表对于某些TPC-H查询具有一些性能优势。您应该选择最适合应用程序场景的分发策略。

Data Locality

数据分布在HDFS数据节点上。由于远程读取涉及到网络I/O,一种数据局部性算法提高了本地读取率。HAWQ在将数据块分配到虚拟段时考虑了三个方面:

  • 本地读比例
  • 连续性的文件读
  • 虚拟段之间的数据平衡

External Data Access

HAWQ可以使用HAWQ扩展框架(PXF)访问外部文件中的数据。PXF是一个可扩展的框架,允许HAWQ以可读写的HAWQ表的形式访问外部数据源中的数据。PXF有用于访问HDFS文件、Hive表和HBase表中的数据的内置连接器。PXF还与HCatalog集成,直接查询Hive表。有关详细信息,请参阅使用PXF和非托管数据。
用户可以创建定制的PXF连接器来访问其他并行数据存储或处理引擎。连接器是使用PXF API的Java插件。有关更多信息,请参阅PXF External Tables and API.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值