2016-01-13 66 views
0

是否有一種簡單的方法來確定字段在配置單元查詢中是否爲數組類型?Hive IsType()UDF

E.g.

SELECT * FROM table INNER JOIN table2 ON (IS_TYPE(column) = 'array' AND array_contains(column, 'value1')

+0

你不能只是描述表或表2來確定做一個匹配解決了這個問題,什麼類型的'列'是? –

+0

我可以這樣做,但我希望邏輯在查詢本身內,因爲這意味着用戶在運行查詢之前必須先查看字段。 –

回答

0

我最終通過創建UDF和類型

def is_array(v: Any) : Boolean = { 
    if (v == null) 
    return false 

    if (v.getClass.getSimpleName == "ArrayBuffer") { 
    return true 
    } 

return false 

}