管道函数¶
借鉴Linux Shell命令,可以将两个或者多个函数连接到一起,把一个函数的输出作为下一个函数的输入,以这种方式连接的两个或者多个函数就形成了管道。 管道使用竖线 | 连接多个函数,这被称为管道符。
内置管道函数¶
函数名称 使用  | 
|
|---|---|
first(N)  | 
取前N行数据,如:first(50),如果不带参数默认取前10行  | 
last(N)  | 
取前N行数据,如:last(50),如果不带参数默认取前10行  | 
row(idx1, idx2, …)  | 
用索引抽取所需要的数据行,索引从数字1开始,如:row(1, 7, 15),如果不带参数默认取第一行数据  | 
col(idx1, idx2, …)  | 
用索引抽取所需要的列,索引从数字1开始,如:col(1, 3),如果不带参数默认取第一列  | 
range(‘row’, from, to)  | 
抽取一定范围内的数据行,包括两端,from与to均为索引,from 从数字 1 开始,直到最后要截取的行  | 
range(‘col’, from, to)  | 
抽取一定范围内的列,包括两端,from与to均为索引,from 从数字 1 开始,直到最后要截取的列  | 
range(rowFrom, rowTo, colFrom, colTo)  | 
对视图进行数据切割,可以理解为切割出一个小区域,即抽取一定范围的行与一定范围内的列交叉部分的数据集  | 
random(N, seed)  | 
随机抽取N行数据,如:random(50),如果不带参数默认取前10行;第二个参数可以控制每次都是不同的随机数据行,默认随机数种子为 0  | 
with a as load jdbc 'select * from 订单';
-- 管道 pipe
chain a | random(10) | range('col', 1, 6) | first(3);
chain | range(3,6,4,5);
chain | row(3,6);