impala设置sum返回类型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了impala设置sum返回类型相关的知识,希望对你有一定的参考价值。

参考技术A impala设置sum返回类型
impala 用法同hive

Aggregate 聚合函数

appx_median([DISTINCT|ALL] T col)
avg([DISTINCT|ALL] col)
count([DISTINCT|ALL] col)
group_concat([ALL] col [, separator])
max([DISTINCT | ALL] T col)
min([DISTINCT | ALL] T col)
ndv([DISTINCT | ALL] col)
stddev([DISTINCT | ALL] col) 返回组中数字列的标准偏差
stddev_pop([DISTINCT | ALL] col) 返回组中数字列的总体标准偏差
stddev_samp([DISTINCT | ALL] col) 返回组中数字列的无偏样本标准差
sum([DISTINCT | ALL] col)
variance([DISTINCT | ALL] col) 一个聚合函数,返回一组数字的方差。这是一个数学性质,表示值与平均值之间的距离差。返回值可以为零(如果输入为单个值或一组相同的值),否则为正数
variance_pop([DISTINCT | ALL] col) 返回组中数字列的总体标准偏差
variance_samp([DISTINCT | ALL] col) 返回组中数字列的无偏样本标准差
var_pop(col) 返回组中数字列的方差
var_samp(col) 返回组中数字列的无偏样本方差
————————————————
版权声明:本文为CSDN博主「我的海_」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/kk25114/article/details/103999808

Impala 查询以随机顺序返回数据

【中文标题】Impala 查询以随机顺序返回数据【英文标题】:Impala query returns data in random order 【发布时间】:2021-08-17 07:55:47 【问题描述】:

我希望我对表的 select * 查询以与数据库中存在的顺序相同的顺序返回。但是,它以随机顺序返回数据。在 Hive 中执行相同的查询时,我以正确的顺序获取数据集。有没有一种方法可以让 impala 以与 DB 中相同的顺序返回结果集?

【问题讨论】:

一种奇怪的请求。你为什么需要它 ?表现 ? DB可以按任何顺序、时间存储和检索数据。所以根据那个顺序可以是任何东西。除非您使用某些字段来订购,否则它不能保证。所以,我不确定 hive 是如何返回预期数据的,但如果更新/删除/更改表结构之类的东西,我觉得它会改变。 我没有用于排序数据的密钥。我只是最终数据的消费者。我知道数据库内的存储是以预期和正确的格式进行的。另外,我需要它以相同的方式构建层次结构的确切顺序 ***.com/a/56679664/2700344 【参考方案1】:

如果没有ORDER BY,查询返回的行顺序未定义。由于并行和分布式执行,每次运行返回的顺序可能会有所不同,有些进程可以执行得更快,有些进程可以在队列中等待,它们都会相互独立地发出数据。

同样根据经典的 Codd 关系理论,表中的行顺序和列顺序对数据库来说并不重要。您可以在插入表的过程中对数据进行排序,排序后的数据将被更好地压缩,内部索引和布隆过滤器会更好地工作,但是如果没有ORDER BY,则无法保证返回数据集中的行顺序。 Hive 也是一样的,在某些情况下,只有一个 mapper 已经启动并且没有 reducer,数据会按照数据文件中的顺序返回,但是不要依赖它,如果需要排序,添加 ORDER BY .

只有单线程处理才能以相同的顺序返回数据,但这会降低性能。更好地重新设计您的数据流并添加一些排序列,以便能够在分布式环境中选择期间对行进行排序。

【讨论】:

以上是关于impala设置sum返回类型的主要内容,如果未能解决你的问题,请参考以下文章

Impala JDBC 连接:错误设置/关闭会话:打开会话错误

更改 impala trunc() 返回的一周的开始日期

不得不学的常用Impala窗口函数

Apache Impala(五) Impala数据导入方式

Impala 日期到字符串的转换

通过 Impala 的 Parquet 压缩类型