管道函数¶
借鉴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);