覆盖到配置单元管理表中丢失的文件
问题描述:
我正在使用hadoop 2.7.3和配置单元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;
对第二个数据做了一些操作。
然后我加载第三个文件,等到最后一个文件使用“overwrite into”。
现在,我看到所有这些文件都不存在在那里的原始位置。另外,在/ user/hive/warehouse/ABC只有最后一个文件在那里。
那些以前的文件去了哪里?他们是否因为覆盖到配置单元表而丢失?我做了“hdfs dfs -ls -R/| grep "filename
”但找不到我的文件。
答
LOAD DATA INPATH
将文件从源HDFS路径移动(不复制)到表仓库路径。
OVERWRITE
将删除表中已经存在的文件(如果启用了HDFS废纸篓,将文件移动到Trash
)并替换为路径中给出的文件。
答
LOAD DATA LOCAL INPATH
副本的文件。 LOAD DATA INPATH
移动的文件。 overwrite
在移入新文件之前删除现有文件。
任何方式,我可以恢复这些删除的文件? – earl
不可能,除非你启用了HDFS垃圾箱,然后 - '也许'。 –