问题1:云原生数据仓库AnalyticDB PostgreSQL创建物化视图的任务并行度如何设置?CREATE MATERIALIZED VIEW "mv_view"
with (appendonly = true, orientation = column) as
可以看到只有一个计算节点在跑。问题2:我们现在这个情况为什么只在一台单机pg上计算呢?
在云原生数据仓库 AnalyticDB PostgreSQL 中,创建物化视图的任务并行度可以通过以下两种方式进行设置:
使用 ALTER MATERIALIZED VIEW
命令:您可以使用 ALTER MATERIALIZED VIEW
命令来修改已存在的物化视图,并指定并行度参数。例如,您可以使用以下命令将物化视图的并行度设置为8:
ALTER MATERIALIZED VIEW my_materialized_view SET (parallel_workers = 8);
请注意,这种设置只适用于以后刷新(REFRESH)物化视图时的并行度。
在创建物化视图时指定并行度:如果您正在创建新的物化视图,可以在 CREATE MATERIALIZED VIEW
语句中使用 WITH
子句来指定并行度参数。例如,以下命令将创建一个并行度为8的物化视图:
CREATE MATERIALIZED VIEW my_materialized_view
WITH (parallel_workers = 8)
AS
SELECT ...
FROM ...
这种方式会在创建物化视图时直接设置并行度。
需要注意的是,并行度设置的最大值受到系统配置和资源限制的影响。确保设置的并行度不超过系统可用的并行工作者数量和集群配置的限制。
在决定使用何种并行度设置时,建议综合考虑数据量、硬件资源和查询性能等因素。根据具体情况进行测试和调整,并根据实际性能表现进行优化。
在云原生数据仓库AnalyticDB PostgreSQL中,创建物化视图的任务并行度可以通过设置并行创建物化视图的最大进程数来实现。最大进程数决定了在创建物化视图时可以使用的最大并行进程数,从而提高任务的并行度和执行效率。
在创建物化视图时,您可以使用以下语法来设置并行创建物化视图的最大进程数:
Copy
CREATE MATERIALIZED VIEW "mv_view"
WITH (appendonly = true, orientation = column, parallel_workers = N)
AS
...
其中,“parallel_workers = N”表示最大并行进程数,N为正整数。如果不设置该参数,则默认最大并行进程数为1。
需要注意的是,设置并行创建物化视图的最大进程数需要根据实际情况进行调整。如果设置的值过大,可能会导致资源竞争和阻塞,影响整个数据库的性能。建议您根据数据库的实际负载和硬件配置,适当调整并行进程数,以达到最佳的执行效率和性能。
针对问题1的回答:我看到数据库 select from pg_settings where name = 'max_parallel_degree';
这个参数的默认设置是0 ? 这个问题我解释一下,max_parallel_degree 这个是单机pg的并行度设置,我们是基于postgresql的mpp分布式数据库,这个我们和单机pg不一样的,max_parallel_degree 这个参数我们不用的。针对问题2的回答:yield_spread.indu_bond_yield_spread 这个表不倾斜,但是select 计算出来的结果 就是GROUP BY indu_bond_yield_spread.spread_date, CUBE (indu_bond_yield_spread.spread_bond_type, indu_bond_yield_spread.bond_ext_rating_mapping, indu_bond_yield_spread.bond_implied_rating_mapping_tag, indu_bond_yield_spread.com_yy_rating_mapping_tag, indu_bond_yield_spread.spread_remaining_tenor_tag, indu_bond_yield_spread.guaranteed_status)
HAVING (count() >= 5); 中间计算结果有可能出现计算的倾斜,才会导致节点的cpu使用不一致。此回答整理自钉群“云原生数据仓库AnalyticDB PostgreSQL版交流群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云自主研发的云原生数据仓库,具有高并发读写、低峰谷读写、弹性扩展、安全可靠等特性,可支持PB级别数据存储,可广泛应用于BI、机器学习、实时分析、数据挖掘等场景。包含AnalyticDB MySQL版、AnalyticDB PostgreSQL 版。