当配置单元将文件从HDFS加载到表中时,如何阻止配置单元移动数据?

时间:2018-09-03 02:36:34

标签: hadoop hive

配置单元版本为3.1.0,SQL版本为LOAD DATA INPATH 'filepath' OVERWRITE INTO TABLE tablenamefilepath可以引用文件(在这种情况下,Hive会将文件移至表中),也可以是目录(在这种情况下,Hive会将目录中的所有文件移至表中)。我希望配置单元只能复制文件,而不希望移动到配置单元仓库目录,因为文件还在其他地方使用。我该怎么办?

1 个答案:

答案 0 :(得分:0)

LOAD DATA命令移动文件。如果要复制,请使用以上命令之一:

使用copyFromLocal命令:

 hdfs dfs -copyFromLocal <localsrc> URI

put命令:

 hdfs dfs -put <localsrc> ... <dst> 

如果文件已经在HDFS中,则可以在该目录的顶部创建表/分区,指定location,而无需完全复制它们。 ALTER TABLE SET位置也将起作用。