当hive将文件从hdfs加载到表中时,如何阻止hive移动数据?

isr3a4wc  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(347)

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

yks3o0rb

yks3o0rb1#

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

hdfs dfs -copyFromLocal <localsrc> URI

或者 put 命令:

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

如果您的文件已经在hdfs中,您也可以在该目录的顶部创建表/分区,指定 location ,完全没有复制它们。 ALTER TABLE SET 位置也会起作用。

相关问题