蜂巢在哪里存放餐桌?

tal*_*lin 7 hive

我是Hadoop的新手,我刚刚开始研究Hive,我的理解是它提供了一种查询语言来处理HDFS中的数据.随着HiveQl我们可以创建表格和数据加载到HDFS从.

所以我的问题是:这些表存储在哪里?具体来说,如果我们的HDFS中有100 GB文件,并且我们想要从该数据中创建一个hive表,那么该表的大小和存储位置是多少?

如果我对这个概念的理解是错误的,请纠正我..

mle*_*gge 5

如果表是100GB,你应该考虑一个Hive外部表(而不是"托管表",对于差异,请参阅此内容).

使用外部表,数据本身仍将存储在您指定的文件路径中的HDFS上(请注意,只要文件目录具有相同的结构,您可以指定文件目录),但Hive将创建它的映射在元存储中,而托管表将存储"在Hive中"的数据.

删除托管表时,它会删除基础数据,而不是删除hive外部表,该外部表仅从引用该数据的元存储中删除元数据.

无论哪种方式,您只使用用户查看的100GB,并通过重复数据利用HDFS的稳健性.