2016-05-19 8 views
0
create external table transaction_usa_canada 
(
tran_id int, 
acct_id int, 
tran_date string, 
amount double, 
description string, 
branch_code string, 
product string, 
tran_state string, 
tran_city string, 
speendby string, 
tran_zip int, 
source_table string 
) 
row format delimited 
stored as textfile 
location '/user/DSNew18/Bank_DS18/tran_usa_canada'; 




INSERT INTO TABLE myproject.transaction_usa_canada 
SELECT tran_id, acct_id, tran_date, amount, description, branch_code,'', tran_state, tran_city, speendby, tran_zip, 'usa' AS source_table FROM transaction_usanew18 
UNION ALL 
SELECT tran_id, acct_id, tran_date, amount, description, branch_code,'', tran_state, tran_city, speendby, tran_zip, 'canada' AS source_table FROM transaction_canadanew18; 

以上は、他の2つの外部テーブルを結合して外部テーブルに挿入するためのクエリです。すべてうまく動作します。ちょうど問題は、テーブルに格納されているデータがコンマで区切られていないことです。カンマ区切りの形式でデータを取得するためには、私はどのような変更を加えるべきですか。ハイブ内の外部テーブルにコンマ区切りのデータを挿入する

答えて

1

はカンマ区切りとして、テーブル

CREATE Table table(
.... 
) 
row format delimited  
FIELDS TERMINATED BY ‘,’ 
+0

... INSERT表myproject.transaction_usa_canada SELECT tran_id、ACCT_ID、tran_date、量、説明、branch_code、 ''、tran_state INTO 、tran_city、speendby、tran_zip、 'USA' transaction_usanew18 UNION ALL SELECT tran_id、ACCT_ID、tran_date、量、説明、branch_code FROM AS SOURCE_TABLE、 ''、tran_state、tran_city、speendby、tran_zip、 'カナダ' AS SOURCE_TABLE transaction_canadanew18 FROM。 – user2998990

+0

行の後ろに書式が区切られた後 ' – shankarsh15

+0

いいえ私はINSERT INTO TABLEの後myproject.transaction_usa_canada。または最後に。 – user2998990

0
create external table transaction_usa_canada 
(
tran_id int, 
acct_id int, 
tran_date string, 
amount double, 
description string, 
branch_code string, 
product string, 
tran_state string, 
tran_city string, 
speendby string, 
tran_zip int, 
source_table string 
) 
row format delimited 
fields terminated by ',' 
stored as textfile 
location '/user/DSNew18/Bank_DS18/tran_usa_canada'; 




INSERT INTO TABLE myproject.transaction_usa_canada 
SELECT tran_id, acct_id, tran_date, amount, description, branch_code,'', tran_state, tran_city, speendby, tran_zip, 'usa' AS source_table FROM transaction_usanew18 
UNION ALL 
SELECT tran_id, acct_id, tran_date, amount, description, branch_code,'', tran_state, tran_city, speendby, tran_zip, 'canada' AS source_table FROM transaction_canadanew18; 

は、データを取得するために上記のコードを使用して作成で追加します。私はエラーを与えていることを...しようとした次のクエリに追加する..

関連する問題