使用Hive

时间:2016-03-01 11:26:41

标签: hadoop hive hdfs

让我们假设我们有一个外部Hive表指向hdfs目录上的CSVs文件。

所以当使用hive在此表上插入新行时会发生什么:

  1. 插入会导致整个表的重写吗?
  2. 或整个重写数据所在的hdfs块?
  3. 或只是将新行添加到文件的末尾?
  4. 更新操作的相同问题

    提前感谢!

1 个答案:

答案 0 :(得分:1)

回答您的问题,认为您正在使用插入语句而不使用INSERT OVERWRITE文件。

  1. 不,插入会创建一个包含已插入数据的新文件
  2. 不,只会插入新文件
  3. 没有对现有文件进行追加
  4. 即使您使用INSERT INTO并插入一些文件,这些新文件也会出现在HDFS的特定目录中,而不会影响现有文件。

    如果您使用INSERT OVERWRITE,将删除指定表格目录中的所有文件,并将新文件放在该目录中。