MaxCompute写入表如何实现排序

已解决

MaxCompute写入表如何实现排序

展开
收起
阿里云服务支持 2022-12-15 13:32:31 391 分享 版权
2 条回答
写回答
取消 提交回答
  • 官方回答

    MaxCompute提供zorder by语法把排序列数据相近的行排列在一起,提升查询时的过滤性能,在一定程度上降低存储成本。需要注意的是,order by x, y会严格地按照先x后y的顺序对数据进行排序,zorder by x, y会把相近的尽量排列在一起。当SQL查询语句的过滤条件中包含排序列时,order by后的数据仅对包含x的表达式有较好的过滤效果,zorder by后的数据对包含x或同时包含x、y的表达式均有较好的过滤效果,列压缩比例更高。

    zorder by的使用限制如下:

    1. 目标表为聚簇表时,不支持zorder by子句。

    2. zorder by可以与distribute by一起使用,不能与order by、cluster by或sort by一起使用。

    zorder by语法请参考插入或覆写数据

    2022-12-15 13:38:23
    赞同 展开评论
  • 网站:http://ixiancheng.cn/ 微信订阅号:小马哥学JAVA

    clustered by | range clustered by (<col_name> [, <col_name>, …]) [sorted by (<col_name> [asc | desc] [, <col_name> [asc | desc] …])] into <number_of_buckets> buckets:可选。用于创建聚簇表时设置表的Shuffle和Sort属性。

    sorted by用于指定在Bucket内字段的排序方式。建议sorted by和clustered by一致,以取得较好的性能。此外,当sorted by子句指定之后,MaxCompute将自动生成索引,并且在查询的时候利用索引来加快执行。

    2022-12-15 13:45:14
    赞同 展开评论

MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。

收录在圈子:
作为全球云计算的领先者,阿里云为全球230万企业提供着云计算服务,服务范围覆盖200多个国家和地区。我们致力于为企业、政府等组织机构提供安全可靠的云计算服务,给用户带来极速愉悦的服务体验。
还有其他疑问?
咨询AI助理