Hive版本是3.1.0
,而sql是LOAD DATA INPATH 'filepath' OVERWRITE INTO TABLE tablename
。 filepath
可以引用一个文件(在这种情况下,Hive会将文件移至表中),也可以是一个目录(在这种情况下,Hive将将该目录内的所有文件移至表中)。我希望配置单元只能复制文件,而不希望移动到配置单元仓库目录,因为文件还在其他地方使用。我该怎么办?
最佳答案
LOAD DATA
命令移动文件。如果要复制,请使用以上命令之一:
使用copyFromLocal
命令:
hdfs dfs -copyFromLocal <localsrc> URI
或
put
命令: hdfs dfs -put <localsrc> ... <dst>
如果您的文件已经在HDFS中,则可以在该目录的顶部创建表/分区,指定
location
,而无需完全复制它们。 ALTER TABLE SET
位置也将起作用。
关于hadoop - 当配置单元从HDFS将文件加载到表中时,如何阻止配置单元移动数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52142573/