使用 Hive 向 HDFS 插入数据
insert data in HDFS using Hive
假设我们有一个外部 Hive table 指向 hdfs 目录中的 CSV 文件。
那么使用配置单元在此 table 上插入新行时发生了什么:
- 插入会导致整个重写 table 吗?
- 或者整个重写数据所在的hdfs块?
- 或者只是在文件末尾追加新行?
更新操作的相同问题
提前致谢!
回答您的问题,认为您正在使用插入语句而不是对文件使用 INSERT OVERWRITE
。
- 不,插入将使用您插入的数据创建一个新文件
- 不,只会插入新文件
- 没有对现有文件进行追加
即使您使用 INSERT INTO
并插入一些文件,这些新文件也会出现并位于 HDFS 中的特定目录中,而不会影响现有文件。
如果您正在使用 INSERT OVERWRITE
,则给定 table 目录中的所有文件都将被删除,新文件将放置在该目录中。
假设我们有一个外部 Hive table 指向 hdfs 目录中的 CSV 文件。
那么使用配置单元在此 table 上插入新行时发生了什么:
- 插入会导致整个重写 table 吗?
- 或者整个重写数据所在的hdfs块?
- 或者只是在文件末尾追加新行?
更新操作的相同问题
提前致谢!
回答您的问题,认为您正在使用插入语句而不是对文件使用 INSERT OVERWRITE
。
- 不,插入将使用您插入的数据创建一个新文件
- 不,只会插入新文件
- 没有对现有文件进行追加
即使您使用 INSERT INTO
并插入一些文件,这些新文件也会出现并位于 HDFS 中的特定目录中,而不会影响现有文件。
如果您正在使用 INSERT OVERWRITE
,则给定 table 目录中的所有文件都将被删除,新文件将放置在该目录中。