开发者社区> 问答> 正文

MaxCompute SQL中选择哈希桶数目时需要遵循的原则有哪些?

MaxCompute SQL中选择哈希桶数目时需要遵循的原则有哪些?

展开
收起
游客k7rjnht6hbtk6 2021-12-08 10:42:54 280 0
1 条回答
写回答
取消 提交回答
  • 1.哈希桶大小适中:经验值是每个Bucket的大小在500M左右比较合理。例如,分区大小估计为500G,初略估算Bucket数目应该设为1000,这样平均每个Bucket大小约为500M。对于特别大的表,500M的限制可以突破,每个Bucket在2-3G左右比较合适。同时,可以结合set odps.sql.reducer.instances=xxx;来突破1111个桶的限制。

    2.对于需要经常join的两个表,哈希桶数目应设为一样,这样才能够优化join,省略掉Shuffle和Sort步骤。如果按照上述原则计算两个表的哈希桶数不一致,建议统一使用数字大的Bucket Number,保证合理的并发度和执行效率。

    2021-12-08 10:43:15
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载