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 个外部表来插入 hive 中的外部表的查询。一切运行良好。只是问题是存储在表中的数据不是逗号分隔的。为了以逗号分隔格式获取数据,我应该进行哪些更改。

4

2 回答 2

1

在创建表中添加

CREATE Table table(
 ....
)
row format delimited    
FIELDS TERMINATED BY ‘,’
于 2016-05-19T16:18:07.513 回答
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;

使用上面的代码获取逗号分隔的数据。

于 2016-05-20T07:37:26.340 回答