本篇內容主要講解“hive的工作機制是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“hive的工作機制是什么”吧!
皇姑網(wǎng)站建設公司成都創(chuàng)新互聯(lián)公司,皇姑網(wǎng)站設計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為皇姑上1000家提供企業(yè)網(wǎng)站建設服務。企業(yè)網(wǎng)站搭建\外貿營銷網(wǎng)站建設要多少錢,請找那個售后服務好的皇姑做網(wǎng)站的公司定做!
Hive是基于Hadoop的一個數(shù)據(jù)倉庫工具,可以將結構化的數(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中內部表和外部表的區(qū)別
----建表時,內部表不用指定數(shù)據(jù)存放的路徑,默認都放在 /user/hive/warehouse/
----外部表建表時,要指定external關鍵字,同時要指定數(shù)據(jù)存放的路徑(要分析的數(shù)據(jù)在哪就指定哪)
----內部表刪除時,會清掉元數(shù)據(jù),同時刪掉表文件夾及其中的數(shù)據(jù)
----外部表刪除時,只清除元數(shù)據(jù)
4、hive表的數(shù)據(jù)可以存成多種文件格式,最普通的是textfile,但是性能比較好的是 sequenceFile格式
----sequencefile 是一種二進制文件
----文件內的內容組織形式為key:value
----在hadoop有一個優(yōu)化場景可以使用sequencefile
小文件合并成大文件:
---讀一個小文件,就把小文件的文件名作為key,內容作為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ū)表要使用關鍵字 partitioned by (country string)
導入數(shù)據(jù)到分區(qū)表的時候需要指定這份數(shù)據(jù)所屬的分區(qū) load data ..... partition(country='china')
hive就會在hdfs的表目錄建一個分區(qū)子文件夾,名字為 country=china ,這一個分區(qū)的數(shù)據(jù)就放在該子文件夾下
針對分區(qū)進行的查詢和統(tǒng)計只要指定 where條件,將分區(qū)標識看成一個普通表字段就可以 where country='china'
到此,相信大家對“hive的工作機制是什么”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!
當前文章:hive的工作機制是什么
本文來源:http://jinyejixie.com/article30/pgsgpo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、虛擬主機、營銷型網(wǎng)站建設、網(wǎng)站設計、動態(tài)網(wǎng)站、用戶體驗
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)