在Hive中,“在路径中加载数据本地”是否会覆盖现有数据或附加?

时间:2011-04-04 23:09:22

标签: hadoop hbase hdfs hive

我希望在cron上运行Hive导入,并希望只使用

“将数据本地inpath'/ tmp / data / x'加载到表X中”就足够了。

后续命令是否会覆盖表中已有的内容?还是会附加?

2 个答案:

答案 0 :(得分:6)

在与Hive打交道时,此网站http://wiki.apache.org/hadoop/Hive/LanguageManual是您的朋友。 :)

将数据加载到Hive中的页面是http://wiki.apache.org/hadoop/Hive/LanguageManual/DML 那页说明了

  

如果使用OVERWRITE关键字那么   目标表的内容(或   分区)将被删除   替换为引用的文件   文件路径。否则提到的文件   将文件路径添加到   表。注意,如果是目标表   (或分区)已经有一个文件   其名称与任何一个相冲突   filepath中包含的文件名 - 然后   现有文件将被替换   使用新文件。

在您的情况下,您没有使用OVERWRITE关键字,因此文件将添加到表中。 (除非它们是相同的文件,在这种情况下它们会被覆盖)

答案 1 :(得分:0)

如果使用OVERWRITE关键字,则将删除目标表(或分区)的内容,并替换为filepath引用的文件;否则filepath引用的文件将被添加到表中。