沿下降外蜂巢表我使用蜂巢 - 如何与数据
drop table <table_name>
如果我重新创建具有相同的架构和名称表,我越来越老的数据备份。 我应该从hdfs文件系统中删除表目录以彻底摆脱数据吗?
沿下降外蜂巢表我使用蜂巢 - 如何与数据
drop table <table_name>
如果我重新创建具有相同的架构和名称表,我越来越老的数据备份。 我应该从hdfs文件系统中删除表目录以彻底摆脱数据吗?
无需去除,除非你HDFS目录需要更多的HDFS空间。
如果你想更换新的数据,U只需要更换文件在HDFS。
如果妳想要使用的表名用于其他用途,然后删除该表,并删除该目录中的HDFS。
其实,我觉得这是一个非常方便的功能,你可以改变你的表的模式(例如,你想改变字段名或CONCAT两场一个字段)没有丢失任何数据。
虽然我pensz,略有改动同意,你不需要降表。只需用你想要的任何新文件替换外部hdfs文件(被替换的文件的结构应该是相同的),并且当你执行上一个表的select *时,你会注意到它会有新的数据而不是旧的一。
外部表基本上只表示该数据的模式和该文件的位置。您可以将许多文件添加到同一位置,并且您的表格将自动包含与这些文件相关的所有数据。同样,您可以替换任何数据,并自动将您的表反映出来。
但是,如果您的表格已分区,则需要稍作更改。我假设你的桌子不是。 –
谢谢! tats很多信息 – amrk7
你可以看看这个链接,它可以帮助
首先得到使用下面的命令表的路径:
蜂巢>描述格式database_name.table_name;
然后复制其出现在描述中,例如整个位置: /user/hive/warehouse/database_name.db/table_name
此使用后以下命令从给定表截断的所有数据:
***hive> dfs -rmr /user/hive/warehouse/database_name.db/table_name;***
OR
***hive> dfs -rm -r /user/hive/warehouse/database_name.db/table_name;***
然后你就可以完全清除它我们ing DROP TABLE命令。
,如果它是一个外部表,删除表意味着你只是删除方案
,所以你必须从HDFS
手动删除该文件或 创建新表,并给予不同的tbl属性中的文件位置
我的问题是我需要摆脱数据,但重新创建具有相同名称和模式的表? – amrk7
删除hdfs文件,删除表;在hdfs中导入新文件并创建新表。 – pensz