Table-valued Functions (TVF)
Description
A table-valued function (TVF) is a function that returns a relation or a set of rows.
Syntax
function_name ( expression [ , ... ] ) [ table_alias ]
Parameters
-
expression
Specifies a combination of one or more values, operators and SQL functions that results in a value.
-
table_alias
Specifies a temporary name with an optional column name list.
Syntax:
[ AS ] table_name [ ( column_name [ , ... ] ) ]
Supported Table-valued Functions
Function | Argument Type(s) | Description |
---|---|---|
range ( end ) | Long | Creates a table with a single LongType column named id, containing rows in a range from 0 to end (exclusive) with step value 1. |
range ( start, end ) | Long, Long | Creates a table with a single LongType column named id, containing rows in a range from start to end (exclusive) with step value 1. |
range ( start, end, step ) | Long, Long, Long | Creates a table with a single LongType column named id, containing rows in a range from start to end (exclusive) with step value. |
range ( start, end, step, numPartitions ) | Long, Long, Long, Int | Creates a table with a single LongType column named id, containing rows in a range from start to end (exclusive) with step value, with partition number numPartitions specified. |
Examples
-- range call with end
SELECT * FROM range(6 + cos(3));
+---+
| id|
+---+
| 0|
| 1|
| 2|
| 3|
| 4|
+---+
-- range call with start and end
SELECT * FROM range(5, 10);
+---+
| id|
+---+
| 5|
| 6|
| 7|
| 8|
| 9|
+---+
-- range call with numPartitions
SELECT * FROM range(0, 10, 2, 200);
+---+
| id|
+---+
| 0|
| 2|
| 4|
| 6|
| 8|
+---+
-- range call with a table alias
SELECT * FROM range(5, 8) AS test;
+---+
| id|
+---+
| 5|
| 6|
| 7|
+---+