表值函數(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