2013-03-22 12 views
2

我有一個名爲exampleTable的兩列數組字符串的表。橫向視圖在配置單元中爆炸

Array<string> col1 Array<string> col2 
["a", "b" , "c" ]  ["x","y","z"] 
["aa", "bb" , "cc" ]  ["xx","yy","zz"] 

我的目標是產生這樣的

col1     col2 
"a"      "x" 
"b"      "y" 
"c"      "z" 
"aa"      "xx" 
"bb"      "yy" 
"cc"      "zz" 

我想過使用LATERL VIEW像表:

SELECT myCol1, myCol2 FROM exampleTable 
     LATERAL VIEW explode(col1) myTable1 AS myCol1 
     LATERAL VIEW explode(col2) myTable2 AS myCol2; 

但這會產生這個代替

col1     col2 
"a"      "x" 
"a"      "y" 
"a"      "z" 
"a"      "xx" 
"a"      "yy" 
"a"      "zz" 
"b"      "x" 
"b"      "y" 
"b"      "z" 
"b"      "xx" 
"b"      "yy" 
"b"      "zz" 
"c"      "x" 
"c"      "y" 
"c"      "z" 
"c"      "xx" 
"c"      "yy" 
"c"      "zz" 
"aa"      "x" 
"aa"      "y" 
"aa"      "z" 
"aa"      "xx" 
"aa"      "yy" 
"aa"      "zz" 
"bb"      "x" 
"bb"      "y" 
"bb"      "z" 
"bb"      "xx" 
"bb"      "yy" 
"bb"      "zz" 
"cc"      "x" 
"cc"      "y" 
"cc"      "z" 
"cc"      "xx" 
"cc"      "yy" 
"cc"      "zz" 

如何我可以解決這個問題嗎? 在此先感謝。

+0

任何一個? :)謝謝 – user1309258 2013-03-22 06:37:58

+0

你能解決這個問題嗎? – Bee 2013-05-15 08:57:05

+0

是的,我做到了。我最終編寫了自己的UDF。 – user1309258 2013-06-04 15:59:22

回答

1

您可以使用explode UDTF或explode2 UDTF作爲基礎編寫UDTF。

Refer here使用爆炸2基地。

+0

有沒有辦法傳遞2個列值到一個函數? – Bee 2013-05-15 08:57:54