sql - 提高 Hive 中 Ntile 函数的速度
问题描述
我在 4 个分区变量上运行 Ntile 函数 4 次,如下所示:
CREATE TABLE Table2 AS
Select*,
ntile(10) over (partition by A, B,C,D order by var1) as dec_1,
ntile(10) over (partition by A, B,C,D order by var2) as dec_2,
ntile(10) over (partition by A, B,C,D order by var3) as dec_3,
ntile(10) over (partition by A, B,C,D order by var4) as dec_4
From Table1
该表目前大约有 4 亿行,该操作要么运行非常缓慢,要么失败。如果我在运行此查询之前Table1
按A
, B
, C
,排序会提高性能吗?D
解决方案
推荐阅读
- java - 摆脱或复制私有静态
- ocaml - 如何在我的 ocaml 文件中打开项目根目录之外定义的模块?
- swift - NSKeyedUnarchiver.unarchivedObject 为字典返回 nil
- node.js - 如何使用 db.search 从 cloudant 返回大量记录?
- ios - 使用未解析的标识符“InstanceIDAPNSTokenType”
- wix - 将文本颜色更改为 Wix 对话框
- spring - 来自其他端口的 Spring Boot 默认安全认证
- javascript - 我应该从这个异步函数返回什么?
- r - 在 R 中布置多个具有不同比例的双 y 轴的图
- ios - 如何在 ImageView Swift 中显示裁剪的图像