将两个外部配置单元表合并到一个新表中

tf7tbtn2  于 2021-06-29  发布在  Hive
关注(0)|答案(2)|浏览(442)

我是新来的Hive。我创建了两个外部配置单元表,还使用sqoop从oracle导入了数据。另外,我还创建了一个新的外部表,其中包含这两个表的数据 External table 1 and External table 2 如下

  1. create external table transaction_usa_canada
  2. (
  3. tran_id int,
  4. acct_id int,
  5. tran_date string,
  6. amount double,
  7. description string,
  8. branch_code string,
  9. tran_state string,
  10. tran_city string,
  11. speendby string,
  12. tran_zip int,
  13. source_table string
  14. )
  15. row format delimited
  16. stored as textfile
  17. location '/user/gds/bank_ds/tran_usa_canada';

现在,我不知道如何将两个外部表的数据合并到上面的外部表中。
请帮忙。

swvgeqrz

swvgeqrz1#

可以使用union语句将它们读入新表。

  1. INSERT OVERWRITE TABLE [database].[table]
  2. SELECT
  3. *
  4. FROM (
  5. SELECT
  6. Col_1 STRING,
  7. Col_2 STRING,
  8. Col_3 STRING
  9. FROM
  10. [table]
  11. UNION ALL
  12. SELECT
  13. Col_1 STRING,
  14. Col_2 STRING,
  15. Col_3 STRING
  16. FROM
  17. [table]) [table];
展开查看全部
kpbpu008

kpbpu0082#

如果2外部表具有相同的列结构,则可以将文本文件复制到公共位置或文件夹,并创建指向新位置的新表。
如果2个外部表的元数据不同,可以考虑选择“create table as select”加载到新表。

相关问题