Hive的數(shù)據(jù)庫是目錄档悠,它的表也是目錄廊鸥,它的數(shù)據(jù)是文件。Hive內(nèi)部把類似數(shù)據(jù)庫或者表的操作轉(zhuǎn)化成了目錄和文件的操作辖所。
Hive默認會把創(chuàng)建所需要的元數(shù)據(jù)寫入自帶的derby數(shù)據(jù)庫,這個數(shù)據(jù)庫非常輕量級惰说,它有個缺點,它每次啟動的時候都把元數(shù)據(jù)信息存儲在metastore_db這個臨時文件中缘回,所以運行不在hive/bin目錄中時吆视,就無法讀取到metastore_db文件,從而之前的庫和表就都不見了酥宴。所以它不能應用在生產(chǎn)環(huán)境中啦吧,要把它替代掉。
Derby數(shù)據(jù)庫元數(shù)據(jù)的問題:
默認放在/tmp目錄下幅虑,重啟后元數(shù)據(jù)就丟失了丰滑,但是數(shù)據(jù)不會丟失〉光郑可以修改hive的元數(shù)據(jù)放入mysql褒墨。
關鍵的元數(shù)據(jù)表
1dbs-記錄所有的數(shù)據(jù)庫
Default是默認的數(shù)據(jù)庫,DB_LOCATION_URI記錄了hadoop的存儲位置擎宝。
2tbls-記錄了所有的表
表存放數(shù)據(jù)庫的元數(shù)據(jù)郁妈,注意表的類型:
Hive管理數(shù)據(jù)的方式:
1先創(chuàng)建表,后有數(shù)據(jù)绍申。
2現(xiàn)有數(shù)據(jù)噩咪,再創(chuàng)建表。
3columns_v2存儲表的字段
CD_ID標識屬于哪個表
column_name字段
type_name字段所屬類型
4sds-存儲位置信息
與HDFS掛鉤