溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

hive的工作機制是什么

發(fā)布時間:2021-08-06 09:21:30 來源:億速云 閱讀:231 作者:chen 欄目:云計算

本篇內(nèi)容主要講解“hive的工作機制是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“hive的工作機制是什么”吧!

Hive是基于Hadoop的一個數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供類似SQL查詢功能。

hive的工作機制
1、在hive中建一個庫
    ---在hive的元數(shù)據(jù)庫中記錄
    ---在hdfs的默認路徑下/user/hive/warehouse/ 建一個以 "庫名.db" 為名字的文件夾
2、在hive的庫中建表
  ---在hive的元數(shù)據(jù)庫中記錄
  ---在hdfs的默認路徑下  /user/hive/warehouse/庫.db/  下建一個 “表名” 為名字的文件夾  
3、hive中內(nèi)部表和外部表的區(qū)別
----建表時,內(nèi)部表不用指定數(shù)據(jù)存放的路徑,默認都放在 /user/hive/warehouse/
----外部表建表時,要指定external關(guān)鍵字,同時要指定數(shù)據(jù)存放的路徑(要分析的數(shù)據(jù)在哪就指定哪)
----內(nèi)部表刪除時,會清掉元數(shù)據(jù),同時刪掉表文件夾及其中的數(shù)據(jù)
----外部表刪除時,只清除元數(shù)據(jù)
4、hive表的數(shù)據(jù)可以存成多種文件格式,最普通的是textfile,但是性能比較好的是 sequenceFile格式
----sequencefile 是一種二進制文件
----文件內(nèi)的內(nèi)容組織形式為key:value
----在hadoop有一個優(yōu)化場景可以使用sequencefile
        小文件合并成大文件:  
             ---讀一個小文件,就把小文件的文件名作為key,內(nèi)容作為value,追加到一個大sequencefile文件中
----sequencefile文件格式支持較好的壓縮性能,而且hadoop的mapreduce程序可以直接從sequencefile的壓縮文件中直接讀取數(shù)據(jù)
5、在linux的shell中直接運行HQL語句的方法
//cli shell  
hive -S -e 'select country,count(*) from tab_ext' > /home/hadoop/hivetemp/e.txt
這種運行機制非常重要,在生產(chǎn)中就是用這種機制來將大量的HQL邏輯組織在一個批量執(zhí)行的shell腳本程序中
6、分區(qū)表
分區(qū)表的意義在于可以針對一個分區(qū)來進行統(tǒng)計從而減小統(tǒng)計的數(shù)據(jù)集
創(chuàng)建分區(qū)表要使用關(guān)鍵字  partitioned by (country string)
導(dǎo)入數(shù)據(jù)到分區(qū)表的時候需要指定這份數(shù)據(jù)所屬的分區(qū)     load data ..... partition(country='china')
hive就會在hdfs的表目錄建一個分區(qū)子文件夾,名字為 country=china ,這一個分區(qū)的數(shù)據(jù)就放在該子文件夾下
針對分區(qū)進行的查詢和統(tǒng)計只要指定 where條件,將分區(qū)標(biāo)識看成一個普通表字段就可以  where country='china'

到此,相信大家對“hive的工作機制是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI