通过覆盖到配置单元托管表

时间:2017-03-08 09:42:51

标签: hive hdfs

我使用的是hadoop 2.7.3和hive 2.1.1。

我在HDFS中有8-9个文件。我创建了一个内部配置单元表。我在该表中加载了这8个文件中的第一个。对该数据进行了一些操作。

之后我通过覆盖到该表中加载了第二个文件。

load data inpath '/path/path1/first.csv' into table ABC;

load data inpath '/path/path1/second.csv' overwrite into table ABC;

对第二个数据做了一些操作。

然后我加载了第三个文件,依此类推到最后一个文件,使用"覆盖到"

现在,我看到所有这些文件都没有原始位置。此外,在/ user / hive / warehouse / ABC只有最后一个文件存在。

之前的文件去了哪里?他们因为覆盖蜂巢表而丢失了吗?我做了#34; hdfs dfs -ls -R / | grep "filename"但是找不到我的文件。

2 个答案:

答案 0 :(得分:1)

@PUT("/applicant/{id}") Call<Integer> sendAnswers(@Path("id")int id, @Body String s_id, @Body List<Integer> listOfAnswers); 复制文件 LOAD DATA LOCAL INPATH 移动文件 在移入新文件之前,LOAD DATA INPATH 会删除现有文件。

答案 1 :(得分:1)

LOAD DATA INPATH将文件从源HDFS路径移动(不复制)到表仓库路径。

OVERWRITE将删除表中已存在的文件(如果启用了HDFS Trash,将文件移至Trash)并替换为路径中提供的文件。