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|
+---+
