咱們知道,Hive的外部表能夠鏈接HDFS中的任何目錄的數據,那麼Hive的外部表是否能夠鏈接自己的內部表的數據呢?sql
答案是確定,固然能夠鏈接,由於Hive自己的數據就是存放在HDFS特定的目錄中的,在Hive中建立外部表,關聯內部表,方式和關聯HDFS的目錄是同樣的。此處的目錄只要換成Hive內部表在HDFS中的存儲位置便可,注意目錄的路徑不要寫錯了。數據庫
例如:以下圖的Hive目錄結構,建立一個tbl_custom的外部表。oop
在另外一個庫中使用以下的建表語句:spa
create external table Tbl_Custom(CustomID int,AreaID int,Name string,Gender int) row format delimited fields terminated by '\t' location 'hdfs://hadoop01:9000/user/hive/warehouse/beijing.db/tbl_custom';
這樣就能夠在另一個庫中使用內部表的數據了。.net
若是你有一個業務場景,是須要鏈接多個MySQL數據庫進行數據查詢,那麼你就能夠備份這幾個數據庫到Hive或者HDFS中,而後利用外部表,將須要表格數據鏈接到一個庫中進行操做。code
下一篇:Hive應用:外部分區表orm