Hive建表后,表的元数据存储在关系型数据库中(如:mysql),表的数据(内容)存储在hdfs中,这些数据是以文本的形式存储在hdfs中(关系型数据库是以二进制形式存储的),既然是存储在hdfs上,那么这些数据本身也是有元数据的(在NameNode中),而数据在DataNode中。这里注意两个元数据的不同。
如下图,建表并导入数据:
Hive数据的数据存储
Hive数据的数据存储
之后在mysql中会发现:
Hive数据的数据存储
有一个hive_remote数据库,这里存储的就是hive中表的元数据,比如查看其中一个字段:
Hive数据的数据存储
再去查看hdfs中的变化:
Hive数据的数据存储
如图,在/user/hive_remote/warehouse/目录下会出现person目录,这就是我们在hive中创建的表,person目录里有一个dt-2018-1-1目录,这个目录里就是我们导入的数据。就是说,这里是按照一个分区一个目录的方式存放的。
再来看我们在hive中的配置文件hive-site.xml:
Hive数据的数据存储
会发现/user/hive_remote/warehouse/这个目录是我们自己配置的路径(hdfs中的路径,不是本地路径)。
OK,这就是Hive数据的存储方式。

相关文章:

  • 2021-10-23
  • 2021-12-30
  • 2021-05-17
  • 2021-10-05
  • 2021-11-18
  • 2021-12-16
  • 2021-06-08
猜你喜欢
  • 2021-11-18
  • 2021-08-07
  • 2021-10-26
相关资源
相似解决方案