2013-08-05 41 views
4

語法的工作原理:是否可以使用Hive Streaming轉換特定列?下面

SELECT TRANSFORM(col1,col2,col3) USING 'python script.py' AS col_1,col_2,col_3 FROM... 

的Python腳本實際上只有轉變COL3,COL1的同時,COL2只是路過的Python腳本沒有任何變化。我想重新使用這個python腳本,以便只要col1通過,就可以用任意列代替col1,col2。但是,這兩個以下代碼不起作用:

SELECT col1, col2, TRANSFORM(col3) USING 'python script.py' AS col_1 FROM... 

SELECT TRANSFORM(col3) USING 'python script.py' AS col_3, col1, col2 FROM... 

如果有一種方法來唯一入選列的子集傳遞到流腳本,而使得其他選擇的列從流過程走開?

在此先感謝。

回答

0

這不起作用,因爲轉換可以返回多個行。想象一下,如果某個col3的script.py返回2行(col31和col32)。語法是什麼意思?返回col1,col2,col31和col1,col2,col32?

+0

如果腳本只返回一列,該怎麼辦?我們不能只在一列上使用它嗎? – Prashanth

相關問題