国产精品色哟哟_男男激情3p互攻_色偷偷影院_和女同学厕所做了四次

當(dāng)前位置: 首頁 / 技術(shù)干貨 / 正文
Hive的內(nèi)部表和外部表

2023-02-09

   數(shù)據(jù) null 時(shí)候

  Hive的表有兩種類型,分別是:內(nèi)部表 和 外部表。

  其實(shí)內(nèi)部表、外部表的說法,是我們自己定義的。Hive中對(duì)表的分類是:

  MANAGED_TABLE: “管理表”,也就是我們俗稱的內(nèi)部表。

  EXTERNAL_TABLE: 外部表。

  查看表的類型

  一張表的類型,可以通過元數(shù)據(jù)來查看。在元數(shù)據(jù)中記錄著非常多的信息,其中就包括每一張表的類型。

  查看mysql數(shù)據(jù)庫的方式:

  元數(shù)據(jù)保存在了mysql的數(shù)據(jù)庫,其中有一張表名為TBLS,其中記錄的就是表的元數(shù)據(jù)信息。我們可以直接通過查詢這張表中的記錄,來查看到每一個(gè)表的類型。

1

  查看表的信息的方式:

2

  內(nèi)部表與外部表的區(qū)別

  1創(chuàng)建表的時(shí)候的區(qū)別

  在建表的時(shí)候,默認(rèn)創(chuàng)建都是內(nèi)部表,也就是管理表。外部表在創(chuàng)建的時(shí)候需要使用關(guān)鍵字external,例如: create external table if not eixsts tb_name。而內(nèi)部表在創(chuàng)建的時(shí)候不需要添加任何額外的關(guān)鍵字。

  2映射數(shù)據(jù)位置的區(qū)別

  Hive是對(duì)HDFS的結(jié)構(gòu)化的數(shù)據(jù)文件進(jìn)行的映射,每一個(gè)表在創(chuàng)建的時(shí)候,本質(zhì)上都是在HDFS的指定目錄創(chuàng)建一個(gè)與表名同名的文件夾。而表里的數(shù)據(jù),其實(shí)就是這個(gè)文件夾下面的數(shù)據(jù)文件中的內(nèi)容。

  內(nèi)部表在創(chuàng)建的時(shí)候,不能修改表映射的路徑,只能夠在 /user/hive/warehouse/{數(shù)據(jù)庫}.db/{表名} 這個(gè)位置。而外部表在創(chuàng)建的時(shí)候 ,可以通過關(guān)鍵字 location 修改表映射的路徑,可以映射在任意的位置。例如:

  create external table if not exists t_order (

  id int,

  cost int,

  orderdate string

  )

  row format delimited

  fields terminated by ','

  location 'hdfs://qianfeng01:9820/public_data/order'

  當(dāng)然,外部表在創(chuàng)建的時(shí)候,也可以不使用location去指定映射的位置。如果沒有使用location指定映射位置的時(shí)候,默認(rèn)使用的與內(nèi)部表相同的數(shù)據(jù)庫目錄/表目錄下。

  3刪除表的時(shí)候的區(qū)別

  內(nèi)部表在刪除的時(shí)候,會(huì)刪除元數(shù)據(jù)信息,同時(shí)會(huì)刪除在HDFS上映射到的數(shù)據(jù)文件。

  外部表在刪除的時(shí)候,只會(huì)刪除元數(shù)據(jù)信息,不會(huì)刪除在HDFS上映射到的數(shù)據(jù)文件。

  外部表的使用場(chǎng)景

  因?yàn)橥獠勘淼奶攸c(diǎn)是可以映射到任意的位置,不僅僅局限于數(shù)據(jù)庫的目錄下。同時(shí)外部表在刪除的時(shí)候,只會(huì)刪除元數(shù)據(jù)信息,不會(huì)刪除映射到的數(shù)據(jù)文件。因此在對(duì)于有些公共數(shù)據(jù)文件的處理的時(shí)候,就可以使用到外部表來處理。這樣既可以使用Hive完成對(duì)數(shù)據(jù)的處理,同時(shí)也不用擔(dān)心萬一刪除表的時(shí)候,會(huì)連帶著數(shù)據(jù)文件一起刪除掉。而且在數(shù)據(jù)倉庫的最底層,使用到的都是外部表。

好程序員公眾號(hào)

  • · 剖析行業(yè)發(fā)展趨勢(shì)
  • · 匯聚企業(yè)項(xiàng)目源碼

好程序員開班動(dòng)態(tài)

More+
  • HTML5大前端 <高端班>

    開班時(shí)間:2021-04-12(深圳)

    開班盛況

    開班時(shí)間:2021-05-17(北京)

    開班盛況
  • 大數(shù)據(jù)+人工智能 <高端班>

    開班時(shí)間:2021-03-22(杭州)

    開班盛況

    開班時(shí)間:2021-04-26(北京)

    開班盛況
  • JavaEE分布式開發(fā) <高端班>

    開班時(shí)間:2021-05-10(北京)

    開班盛況

    開班時(shí)間:2021-02-22(北京)

    開班盛況
  • Python人工智能+數(shù)據(jù)分析 <高端班>

    開班時(shí)間:2021-07-12(北京)

    預(yù)約報(bào)名

    開班時(shí)間:2020-09-21(上海)

    開班盛況
  • 云計(jì)算開發(fā) <高端班>

    開班時(shí)間:2021-07-12(北京)

    預(yù)約報(bào)名

    開班時(shí)間:2019-07-22(北京)

    開班盛況
IT培訓(xùn)IT培訓(xùn)
在線咨詢
IT培訓(xùn)IT培訓(xùn)
試聽
IT培訓(xùn)IT培訓(xùn)
入學(xué)教程
IT培訓(xùn)IT培訓(xùn)
立即報(bào)名
IT培訓(xùn)

Copyright 2011-2023 北京千鋒互聯(lián)科技有限公司 .All Right 京ICP備12003911號(hào)-5 京公網(wǎng)安備 11010802035720號(hào)