【发布时间】:2013-04-12 06:09:17
【问题描述】:
这是我的场景:
-
我从 S3 存储桶中的一个文件夹加载数据。让我们将此存储桶称为“new_data”。
创建外部表 new_data (col1 string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LOCATION 's3://some-bucket/folder'
-
接下来,我从 S3 中的另一个文件夹加载数据,我们称之为“data_already_imported”。
创建外部表 data_already_imported(col1 字符串) 以“\t”结尾的行格式分隔字段 LOCATION 's3://some-bucket/another-folder'
-
然后,我发现new_data和data_already_imported的区别
创建表差异为 选择 * 从 ( SELECT n.* FROM new_data n 左外连接 data_already_imported old ON n.col1 = old.col1 old.col1 为空 ) 我;
现在,我想将此“差异”移动到 data_already_imported 文件夹中。目前我有
INSERT INTO TABLE data_already_imported
SELECT * FROM difference;
问题是这会覆盖 data_already_imported 中已经存在的数据。注意:我也用INSERT OVERWRITE 尝试过。有人可以指出我在这里做错了什么吗?
【问题讨论】:
标签: insert amazon-web-services amazon-s3 amazon hive