hive的桌子存放在哪里?

hive的桌子存放在哪里?,hive,Hive,我是Hadoop新手,刚开始研究Hive,据我所知,它提供了一种查询语言来处理HDFS中的数据。通过HiveQl我们可以创建表并从HDFS将数据加载到其中 所以我的问题是:这些表存储在哪里?具体地说,如果我们的HDFS中有100GB的文件,并且我们想用这些数据创建一个配置单元表,那么该表的大小以及存储在哪里 如果我对这个概念的理解是错误的,请纠正我。 < P>如果表是100GB,你应该考虑一个Hiver外部表(而不是一个“托管表”),为了区别,请参阅 对于外部表,数据本身仍将存储在您指定的文件路

我是Hadoop新手,刚开始研究Hive,据我所知,它提供了一种查询语言来处理HDFS中的数据。通过
HiveQl
我们可以创建表并从HDFS将数据加载到其中

所以我的问题是:这些表存储在哪里?具体地说,如果我们的HDFS中有100GB的文件,并且我们想用这些数据创建一个配置单元表,那么该表的大小以及存储在哪里


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

< P>如果表是100GB,你应该考虑一个Hiver外部表(而不是一个“托管表”),为了区别,请参阅

对于外部表,数据本身仍将存储在您指定的文件路径的HDFS上(请注意,您可以指定文件目录,只要它们都具有相同的结构),但配置单元将在元存储中创建它的映射,而托管表将在“配置单元”中存储数据

当您删除托管表时,它会删除底层数据,而不是删除配置单元外部表,后者只从引用该数据的元存储中删除元数据


无论哪种方式,您都只使用用户看到的100GB,并且通过复制数据来利用HDFS的健壮性。

Hive将在HDFS上创建一个目录。如果未指定任何位置,它将在HDFS上的
/user/hive/warehouse
处创建一个目录。load命令后,文件被移动到
/warehouse/tablename
。如果HDFS目录包含分区(如果文件已分区),也可以指向该目录,或者使用外部表概念。

什么是“将整个表加载到内存中,并将其映射到其元存储中”?当您创建托管表时,Hive不会做任何类似的事情。那么,当我们将数据加载到Hive表中时,那里到底发生了什么?@JeremyBeard如果我的语义错误,请随意编辑帖子。如果整个概念都是错误的,我非常想知道我的理解哪里不正确,因此我鼓励您提交答案您可以将文件添加到托管表目录以及外部目录。你试过这个吗?它工作得很好。关于“记忆加载”的第一句话你错了