表值函数(TVF)调用
适用于:砖的SQL砖运行时
调用一个函数返回一个关系或一组行作为一个表引用(sql-ref
TVF可以是:
例子
——电话结束>选择*从范围(6+因为(3));01234——电话范围的开始和结束>选择*从范围(5,10);56789——范围与numPartitions的电话>选择*从范围(0,10,2,200年);02468——范围与一个表别名的电话>选择*从范围(5,8)作为测试;567——创建一个SQL UDTF和调用它>创建或取代函数table_func(一个INT)返回表返回选择一个*c1作为res从值(1),(2),(3),(4)作为T(c1)>选择*从table_func(5);5101520.——使用横向相关性>选择table_func。res从值(10),(20.)作为年代(c1),横向table_func(c1);1020.20.4030.604080年——标量因数是不允许在FROM子句中>选择*从修剪(“你好”);错误
在SQL amd砖砖运行时12.2及以上:
>选择*从爆炸(数组(10,20.));1020.>选择*从内联(数组(结构体(1,“一个”),结构体(2,“b”)));col1col2- - - - - - - - - -1一个2b>选择*从posexplode(数组(10,20.));pos上校推荐- - - - - - - - - - - -010120.>选择*从堆栈(2,1,2,3);col0col1- - - - - - - - - -123零>选择*从json_tuple(”{“a”: 1、“b”: 2}”,“一个”,“b”);c0c1推荐- - - - - - - - - - - -12>选择*从parse_url(“http://spark.apache.org/path?query=1”,“主机”);火花。apache。org>选择*从值(1),(2)作为t1(c1),横向爆炸(数组(3,4))作为t2(c2);c1c2- - - - -13142324