本篇內(nèi)容主要講解“hive的工作機制是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“hive的工作機制是什么”吧!
皇姑網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,皇姑網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為皇姑上1000家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營銷網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的皇姑做網(wǎng)站的公司定做!
Hive是基于Hadoop的一個數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供類似SQL查詢功能。
hive的工作機制
1、在hive中建一個庫
---在hive的元數(shù)據(jù)庫中記錄
---在hdfs的默認(rèn)路徑下/user/hive/warehouse/ 建一個以 "庫名.db" 為名字的文件夾
2、在hive的庫中建表
---在hive的元數(shù)據(jù)庫中記錄
---在hdfs的默認(rèn)路徑下 /user/hive/warehouse/庫.db/ 下建一個 “表名” 為名字的文件夾
3、hive中內(nèi)部表和外部表的區(qū)別
----建表時,內(nèi)部表不用指定數(shù)據(jù)存放的路徑,默認(rèn)都放在 /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的工作機制是什么”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
當(dāng)前文章:hive的工作機制是什么
本文來源:http://www.rwnh.cn/article30/pgsgpo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、虛擬主機、營銷型網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、動態(tài)網(wǎng)站、用戶體驗
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)