Hadoop 将数据从txt表加载到orc表配置单元-查询

Hadoop 将数据从txt表加载到orc表配置单元-查询,hadoop,mapreduce,hive,Hadoop,Mapreduce,Hive,我的主要目标是创建一个存储为ORC的表。为此,我跟随 我已经创建了一个文件夹/user/hive/external,并在同一位置创建了两个表(table_txt&table_orc)。直到将数据加载到表_txt中,它才正常 现在,我发现的是,当我使用 INSERT OVERWRITE TABLE table_orc SELECT * FROM table_txt; 路径*/external中的表被删除(在web UI上查看),现在我有了一个名为“0000000”的文件,单击它,我得到了一些编码

我的主要目标是创建一个存储为ORC的表。为此,我跟随

我已经创建了一个文件夹/user/hive/external,并在同一位置创建了两个表(table_txt&table_orc)。直到将数据加载到表_txt中,它才正常

现在,我发现的是,当我使用

INSERT OVERWRITE TABLE table_orc SELECT * FROM table_txt;
路径*/external中的表被删除(在web UI上查看),现在我有了一个名为“0000000”的文件,单击它,我得到了一些编码的东西

这些问题——

1-这个000000_0文件是什么?为什么表在web UI上不可见

2-当我查询表_txt时,为什么它不提供任何数据?而在查询表_orc时,我得到了结果

创建了两个表。。。在同一位置==>红旗

正是位置定义了哪些数据文件属于哪个表。换句话说,每个表都应该位于私有目录上

因此,
INSERT OVERWRITE
删除了ORC表的私有目录中的所有内容,然后以ORC二进制格式创建了一个新的数据文件。这是预期的行为。糟糕的是,TXT文件也在那里


顺便说一句,“外部”表和“托管”表之间的区别之一是,当您
删除
托管表时,整个目录都会被破坏,而删除外部表时,数据会保持原样。

非常感谢!我尝试使用表的单独目录。工作起来像个符咒!:)谢谢