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

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