开发者社区> 问答> 正文

Hive SQL与MaxCompute SQL在分区分桶上的区别是什么?

Hive SQL与MaxCompute SQL在分区分桶上的区别是什么?

展开
收起
游客qzzytmszf3zhq 2021-12-08 21:30:11 445 0
1 条回答
写回答
取消 提交回答
  • 在Hive中使用分桶命令需要执行命令hive.enforce.bucketiong=true;使用关键字clustered by指定分区依据的列名,以及指定分桶数。在MaxCompute中是底层进行分桶操作。在MaxCompute中可以在建表时指定clustered by中的Hash Key,MaxCompute将对指定列进行Hash运算,根据Hash值分散到各个Bucket中。为避免数据倾斜和热点,取得较好的并行执行效果,clustered by字段列宜选择取值范围大、重复键值少的列。为达到join优化目的,应考虑选取常用的Join/Aggregation Key,即类似传统数据库中的主键。

    2021-12-08 21:30:41
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

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