Hive 如何从HDFS将数据加载到配置单元而不删除文件

Hive 如何从HDFS将数据加载到配置单元而不删除文件,hive,Hive,我在一个HDFS文件夹中有多个文件。 我希望将每个文件加载到不同的配置单元表中,并希望将源文件保持在相同的位置 我知道我们可以创建指向目录的外部表 是否可以创建指向特定文件的外部表 任何人都可以帮我解决这个问题。如果您有预定义数量的文件和预定义名称,您可以尝试使用基于INPUT\u FILE\u NAME虚拟列的WHERE子句进行多表插入 FROM some_db.some_external_table INSERT INTO table1 SELECT a, b, c WHERE IN

我在一个HDFS文件夹中有多个文件。 我希望将每个文件加载到不同的配置单元表中,并希望将源文件保持在相同的位置

我知道我们可以创建指向目录的外部表

是否可以创建指向特定文件的外部表


任何人都可以帮我解决这个问题。

如果您有预定义数量的文件和预定义名称,您可以尝试使用基于
INPUT\u FILE\u NAME
虚拟列的WHERE子句进行多表插入

FROM some_db.some_external_table
INSERT INTO table1
  SELECT a, b, c
  WHERE INPUT__FILE__NAME like '%/gabuzomeu.csv'
INSERT INTO table2
  SELECT a, x, d, CAST(z AS FLOAT)
  WHERE INPUT__FILE__NAME like '%/wtf.csv'
...
参考:


外部表始终有自己的位置(文件夹)。使用
hadoop distcp
命令或
hdfs dfs-cp…
将文件复制到表位置。请参阅以供参考