Spark Sql 函数使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark Sql 函数使用相关的知识,希望对你有一定的参考价值。

参考技术A round -  保留数据精度 

如 round(col("col1"),0) 对应数值为 21.23 -> 21.0 ;21.73 -> 22.0

如 round(col("col1"),1) 对应数值为 21.23 -> 21.2

如 round(col("col1"),-1) 对应数值为 21.23 -> 20.0

pyspark在spark sql中函数之间的使用范围

【中文标题】pyspark在spark sql中函数之间的使用范围【英文标题】:pyspark use range between function in spark sql 【发布时间】:2019-07-11 15:12:37 【问题描述】:

当我跑步时

spark.sql(''' 
        select client,avg(amount) over (partition by client
         order by my_timestamp
         range between interval 30 days preceding and current row) as moving_avg_amount
         from my_table''')

它有效。

但如果我想排除最后 X 天 - 它会失败。

... range between interval 30 days preceding and 12 days preceding ..
   or :
 ... range between interval 30 days preceding and interval 12 days preceding .. 

正确的语法是什么?

【问题讨论】:

【参考方案1】:

在Spark SQL Window over interval of between two specified time boundaries - between 3 hours and 2 hours ago 中建议范围间隔在 SparkSQL 中不能正常工作。

【讨论】:

感谢@RickyG,看来这是一个老错误了,不明白为什么它没有得到修复......

以上是关于Spark Sql 函数使用的主要内容,如果未能解决你的问题,请参考以下文章

Spark SQL内置函数

pyspark在spark sql中函数之间的使用范围

spark中SQL解析函数的使用

Spark sql 查询与数据框函数

在 SQL/Spark 中使用窗口函数执行特定过滤器

如何使用 spark.sql 将表列传递给 rand 函数?