将数据从txt表加载到orc表HIVE-Query中

时间:2015-09-05 18:30:17

标签: hadoop mapreduce hive

我的主要目的是创建一个存储为ORC的表。为此,我跟着these steps

我创建了一个文件夹 / user / hive / external ,并在同一位置创建了两个表格( table_txt & table_orc ) 。直到加载table_txt中的数据,这很好。

现在,我发现,当我使用

将数据从table_txt移动到table_orc时
INSERT OVERWRITE TABLE table_orc SELECT * FROM table_txt;

路径* / external中的表被删除(在Web UI上查看),现在我有一个名为&#34的文件。 000000_0"点击它,我得到一些编码的东西。

问题 -

1-这是什么000000_0文件以及为什么不在Web UI上显示表

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

1 个答案:

答案 0 :(得分:0)

  

在同一位置创建了两个表... ==> RED FLAG !!!

位置定义哪些数据文件属于哪个表。换句话说,每个表都应位于私人目录

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

顺便说一句,“外部”和“托管”表之间的区别在于,当您drop托管表时,整个目录都会被销毁,而删除外部表则会将数据保留为-is。