Hive學習筆記1

什么是Hive:

Hive是基于Hadoop之上的數(shù)據(jù)倉庫挠轴,數(shù)據(jù)存放在HDFS上,它同樣可以通過ETL來進行數(shù)據(jù)的抽取、轉(zhuǎn)換和加載弟断。同時Hive可以自己開發(fā)Mapreduce程序來完成本身不能提供的數(shù)據(jù)處理操作洒敏。Hive本身就是一個SQL的解析引擎龄恋,他將SQL 語句轉(zhuǎn)成Mapreduce任務(wù)在hadoop之上執(zhí)行。

什么是數(shù)據(jù)倉庫:

數(shù)據(jù)倉庫是一個面向主題的凶伙,集成的郭毕,不可更新的,隨時間不變化的數(shù)據(jù)集合函荣,它用于支持企業(yè)或組織的決策分析處理显押。

針對數(shù)據(jù)倉庫的概念的解釋:首先數(shù)據(jù)倉庫中的數(shù)據(jù)是面向主題的扳肛,也就是這些數(shù)據(jù)的都是為了描述同一類事情,同時它的數(shù)據(jù)主要用于查詢操作乘碑,不會對數(shù)據(jù)倉庫中的數(shù)據(jù)進行刪除和更新操作挖息。

OLTP: 聯(lián)機事務(wù)處理(面向的是事務(wù),需要實時的更新操作兽肤,銀行轉(zhuǎn)賬) OLAP: 聯(lián)機分析處理(面向歷史數(shù)據(jù)套腹,進行數(shù)據(jù)的分析與挖掘,主要面向查詢资铡,不會做更新和插入數(shù)據(jù)电禀,推薦系統(tǒng))

注意:

在搭建數(shù)據(jù)倉庫的過程最常用的兩種模型就是:星型模型和雪花模型,雪花模型是在星型模型上發(fā)展出來的笤休。什么是星型模型尖飞,比如一個商品的推薦系統(tǒng),主題應(yīng)該是商品店雅,但是圍繞商品的有客戶信息政基、廠家信息、促銷信息等很多信息底洗,這樣就組成了一個星型模型腋么。但是客戶信息中也存在客戶的家庭的信息、地址信息等亥揖。這樣再關(guān)聯(lián)的話就是一個雪花模型了珊擂。

Hive的體系結(jié)構(gòu):

Hive將元數(shù)據(jù)存儲在數(shù)據(jù)庫中(metastore),這個數(shù)據(jù)庫支持mysql费变、derby等數(shù)據(jù)庫中摧扇。Hive默認是存儲在derby數(shù)據(jù)庫中。 Hive的元數(shù)據(jù)有哪些挚歧? 包括表的名字扛稽、表的列和分區(qū)及其屬性,表的屬性包括是否為外部表等滑负,表的數(shù)據(jù)所在目錄等在张。 首先Hive是基于Hadoop的,所以hive的數(shù)據(jù)會使用HDFS進行保存矮慕,同時hive的查詢操作也是轉(zhuǎn)化成hadoop的MapReduce操作帮匾,所以在hive中會存在一個Hive Driver:包括編譯器、解析器和優(yōu)化器痴鳄。 在Hive的驅(qū)動之前有訪問接口瘟斜、jdbc以及WebConsole等方式進行操作。當然hive的元信息是存放在關(guān)系型數(shù)據(jù)庫中的。 HQL的執(zhí)行過程: 解釋器螺句、編譯器虽惭、優(yōu)化器完成HQL查詢語句從詞法分析、語法分析蛇尚、編譯芽唇、優(yōu)化以及查詢計劃的生成。生成的查詢計劃存儲在HDFS中佣蓉,并在隨后的Mapreduce調(diào)用執(zhí)行披摄。

Hive的安裝:

Hive的官網(wǎng)地址: hive.apache.org apache 的歷史工程發(fā)布頁面在: archive.apache.org,在這個頁面下可以找到hive工程勇凭。這里使用的是0.13版本疚膊。

Hive的安裝之前需要先將hadoop安裝好,hive有三種安裝方式:嵌入模式虾标、本地模式寓盗、遠程模式。

嵌入模式:Hive將元信息存儲在Hive自帶的Derby數(shù)據(jù)庫中璧函。但是這種操作方式存在一些缺陷: 1. 只允許創(chuàng)建一個連接傀蚌,也就是只允許一個用戶操作hive 2. 多用于Demo

在安裝hive之前需要先安裝hadoop,然后把hive的壓縮包解壓蘸吓,在bin目錄下執(zhí)行./hive進入hive的啟動腳本善炫,這種方式就是使用的嵌入式模式啟動hive,會在當前目錄下生成一個metastore_db的目錄库继,這個就是元信息目錄箩艺。

本地模式:Hive將元信息存儲在mysql數(shù)據(jù)庫中,mysql數(shù)據(jù)庫與hive運行在同一臺物理機上宪萄。這種方式可以允許多個用戶操作hive艺谆,可以用于開發(fā)和測試。

遠程模式:(推薦使用這種方式)hive將元信息存儲在mysql數(shù)據(jù)庫中拜英,mysql數(shù)據(jù)庫與hive運行在不同的物理機上静汤。

元信息存儲在遠程的mysql中。進入遠程mysql中居凶,mysql -u … -p … , 進入后使用create database hive創(chuàng)建一個hive數(shù)據(jù)庫來保存元數(shù)據(jù)虫给。 在hive解壓后,把mysql的驅(qū)動jar包上傳到hive的lib目錄中侠碧。這樣hive才能操作mysql數(shù)據(jù)庫狰右。然后需要更改hive的配置文件。在conf中創(chuàng)建一個hive-site.xml文件舆床,文件的內(nèi)容如下:

當配置文件設(shè)置完后以后,就可以啟動hive了。

Hive的管理

使用hive的腳本直接進入hive挨队,或者 hive –service cli

cli常用的命令:

Web界面方式:

啟動方式: #hive –service hwi & 在0.13.0中并沒有包含web管理的war包谷暮,需要自己編譯。

下載hive源碼包盛垦,并且解壓源碼包湿弦,然后進入源碼路徑下的hwi目錄,使用:jar cvfM0 hive-hwi-0.13.0.war -C web/ . 這樣就會打成一個war包腾夯,把這個war包拷貝到hive的lib目錄下颊埃,同時需要修改hive-site.xml 配置文件,這個修改可以在wiki上看到蝶俱。

這個就可以使用hive –service hwi啟動web服務(wù)了班利,但是在訪問這個web應(yīng)用的時候,瀏覽器還是報出了500的錯誤榨呆。這個問題需要拷貝jdk的tools.jar 拷貝到hive的lib目錄下罗标。

這個時候就可以打開這個web界面了。

hive的遠程服務(wù)

啟動hive的遠程服務(wù)的命令如下: hive –service hiveserver & 如果要使用jdbc連接hive進行操作积蜻,這個時候就需要開啟hive的遠程服務(wù)闯割。

Hive的數(shù)據(jù)類型

基本數(shù)據(jù)類型: tinyint/smallint/int/bigint 整數(shù)類型 float/double 浮點類型 boolean 布爾類型 string/varchar/char 字符串類型

復(fù)雜數(shù)據(jù)類型: array:數(shù)組類型,由一系列相同的數(shù)據(jù)類型的元素組成 map:集合類型竿拆,包含key->value鍵值對宙拉,可以通過key來訪問元素。 struct:結(jié)構(gòu)類型丙笋,可以包含不同數(shù)據(jù)類型的元素谢澈,這些元素可以通 過“點語法”的方式來得到所需要的元素。

Hive的數(shù)據(jù)存儲

基于HDFS不见,沒有專門的數(shù)據(jù)存儲格式 Hive的數(shù)據(jù)模型:

表可以分成以下幾種:

創(chuàng)建這張表的時候就是以gender進行分區(qū) 分區(qū)表能夠加快查詢效率

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末澳化,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子稳吮,更是在濱河造成了極大的恐慌缎谷,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,681評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件灶似,死亡現(xiàn)場離奇詭異列林,居然都是意外死亡,警方通過查閱死者的電腦和手機酪惭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評論 3 399
  • 文/潘曉璐 我一進店門希痴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人春感,你說我怎么就攤上這事砌创÷哺祝” “怎么了?”我有些...
    開封第一講書人閱讀 169,421評論 0 362
  • 文/不壞的土叔 我叫張陵嫩实,是天一觀的道長刽辙。 經(jīng)常有香客問我,道長甲献,這世上最難降的妖魔是什么宰缤? 我笑而不...
    開封第一講書人閱讀 60,114評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮晃洒,結(jié)果婚禮上慨灭,老公的妹妹穿的比我還像新娘。我一直安慰自己球及,他們只是感情好氧骤,可當我...
    茶點故事閱讀 69,116評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著桶略,像睡著了一般语淘。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上际歼,一...
    開封第一講書人閱讀 52,713評論 1 312
  • 那天惶翻,我揣著相機與錄音,去河邊找鬼鹅心。 笑死吕粗,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的旭愧。 我是一名探鬼主播颅筋,決...
    沈念sama閱讀 41,170評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼输枯!你這毒婦竟也來了议泵?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,116評論 0 277
  • 序言:老撾萬榮一對情侶失蹤桃熄,失蹤者是張志新(化名)和其女友劉穎先口,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體瞳收,經(jīng)...
    沈念sama閱讀 46,651評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡碉京,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,714評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了螟深。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谐宙。...
    茶點故事閱讀 40,865評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖界弧,靈堂內(nèi)的尸體忽然破棺而出凡蜻,到底是詐尸還是另有隱情搭综,我是刑警寧澤,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布咽瓷,位于F島的核電站设凹,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏茅姜。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,211評論 3 336
  • 文/蒙蒙 一月匣、第九天 我趴在偏房一處隱蔽的房頂上張望钻洒。 院中可真熱鬧,春花似錦锄开、人聲如沸素标。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春胸梆,著一層夾襖步出監(jiān)牢的瞬間龄章,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評論 1 274
  • 我被黑心中介騙來泰國打工撕予, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留鲫惶,地道東北人。 一個月前我還...
    沈念sama閱讀 49,299評論 3 379
  • 正文 我出身青樓实抡,卻偏偏與公主長得像欠母,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子吆寨,可洞房花燭夜當晚...
    茶點故事閱讀 45,870評論 2 361

推薦閱讀更多精彩內(nèi)容