hive - 在 Hive 中创建十分位数

标签 hive

我是 Hive 的首次用户(过去 2 年一直在使用 SQL 和 Teradata)。我正在尝试向包含

的表添加一列
  1. ID,2.分数

第三列是分数的十分位数,值为 1 到 10。在 Teradata 中,我使用的是 quantile(10,score) 补丁,Hive 中是否有等效的补丁? Google 没有给我任何相关答案,非常感谢任何帮助!

最佳答案

从 Hive 0.11.0 开始,您可以使用 NTILE。为了创建十分位数,我在下面的示例中使用了 ntile(10):

select
id, score,
ntile(10) over (order by score)
from your_table_name

另请参阅:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+WindowingAndAnalytics

关于hive - 在 Hive 中创建十分位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23971820/

相关文章:

java - Apache hive-jdbc jar 和 Cloudera hive-jdbc jar 之间的区别

apache-spark - 使用 utf-8 字符编码从 hive 中选择数据

performance - Informatica BDE 摄取作业运行 10 多个小时,终止并重新运行后 3 小时内完成

apache - 在选择查询中使用配置单元存储

scala - 无法从HDP 3中具有超过25列的Spark数据框中加载配置单元表

hadoop - hdfs snapshot可以用来恢复hive吗

java - 使用 Hive 清理大数据

java.lang.NoClassDefFoundError - org/apache/spark/sql/hive/HiveContext

hadoop - 在存储在hdfs中的orc文件上创建外部表之后,select *返回时间戳的空值

hadoop - 配置单元单节点设置