替换Hive的元数据库derby

2019-03-17  本文已影响0人  ssttIsme

Hive的数据库是目录,它的表也是目录,它的数据是文件。Hive内部把类似数据库或者表的操作转化成了目录和文件的操作。

Hive默认会把创建所需要的元数据写入自带的derby数据库,这个数据库非常轻量级,它有个缺点,它每次启动的时候都把元数据信息存储在metastore_db这个临时文件中,所以运行不在hive/bin目录中时,就无法读取到metastore_db文件,从而之前的库和表就都不见了。所以它不能应用在生产环境中,要把它替代掉。

Derby数据库元数据的问题:
默认放在/tmp目录下,重启后元数据就丢失了,但是数据不会丢失。可以修改hive的元数据放入mysql。


关键的元数据表

1dbs-记录所有的数据库

Default是默认的数据库,DB_LOCATION_URI记录了hadoop的存储位置。

2tbls-记录了所有的表

表存放数据库的元数据,注意表的类型:
Hive管理数据的方式:
1先创建表,后有数据。
2现有数据,再创建表。

3columns_v2存储表的字段

CD_ID标识属于哪个表
column_name字段
type_name字段所属类型

4sds-存储位置信息

与HDFS挂钩

上一篇 下一篇

猜你喜欢

热点阅读