繁体   English   中英

Spark SQL 中的序列

[英]Sequence in Spark SQL

我想在火花中创建一个序列最好的方法是什么? (在 Java 中)

像这样:

CREATE SEQUENCE SEQ_NUM
INCREMENT BY 1
START WITH 1
MINVALUE 1
NOCYCLE
CACHE 10
ORDER;

我认为这就是你想要的

sequence(start, stop, step) - 生成从开始到停止(包括)的元素数组,逐步递增。 返回元素的类型与参数表达式的类型相同。

支持的类型有:字节、短、整数、长、日期、时间戳。

start 和 stop 表达式必须解析为相同的类型。 如果 start 和 stop 表达式解析为 'date' 或 'timestamp' 类型,则 step 表达式必须解析为 'interval' 或 'year-month interval' 或 'day-time interval' 类型,否则为与开始和停止表达式。

论据:

开始 - 一个表达式。 范围的开始。 停止 - 一个表达式。 结束范围(包括)。 step - 可选表达式。 范围的步骤。 默认情况下,如果 start 小于或等于 stop,则 step 为 1,否则为 -1。 对于时间序列,它分别是 1 天和 -1 天。 如果 start 大于 stop 则 step 必须为负数,反之亦然。 例子:

 SELECT sequence(1, 5); [1,2,3,4,5] SELECT sequence(5, 1); [5,4,3,2,1] SELECT sequence(to_date('2018-01-01'), to_date('2018-03-01'), interval 1 month); [2018-01-01,2018-02-01,2018-03-01] SELECT sequence(to_date('2018-01-01'), to_date('2018-03-01'), interval '0-1' year to month); [2018-01-01,2018-02-01,2018-03-01]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM