2016-11-22 10 views
0

にINSERT文で働いていない、私はSelect *を使用するまで、私は必要な出力を得るクエリCONCAT_WSはハイブを使用してハイブ

insert into table temp_error 
select * from (Select 'temp_test','abcd','abcd','abcd', 
from_unixtime(unix_timestamp()),concat_ws('|',sno,name,age) 
from temp_test_string)c; 

を使用して一つのテーブルからの列を連結し、別のテーブルに挿入しようとしています。しかし、テーブルに挿入しようとすると、連結出力は得られませんが、連結出力全体ではなく、snoの値のみが与えられます。

+0

"desc temp_error;"、 "desc temp_test_string;"を指定できますか? –

+0

そして "select *"と "insert into table"を与えたときに得られるものの一行 –

+0

多分 ''|''は 'temp_error'テーブルの区切り文字ですか? –

答えて

0

ありがとうございます。 私はそれがなぜそのように振る舞っているのかを知りました。それはテーブルを作成する際に「個別のフィールドを '|'」与えたからです。だから私はテーブルに文字列として挿入しようとしていた、ハイブはそれを別の列として解釈していました。