想學(xué)習(xí)編程培訓(xùn)的朋友們,福利來了,和盈講師不定期分享編程培訓(xùn)工程師培訓(xùn)課上的相關(guān)技術(shù)知識(shí),感興趣的可以直接借讀閱覽,增加自己編程培訓(xùn)技術(shù)方面的知識(shí),豐富自己的閱歷。今天和盈講師給大家?guī)淼氖蔷幊膛嘤?xùn)核心技術(shù)Hadoop的一個(gè)重要的數(shù)據(jù)倉庫工具——hive。
首先我們要知道hive到底是做什么的。下面這幾段文字很好的描述了hive的特性:
1、hive是基于Hadoop的一個(gè)數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供完整的sql查詢功能,可以將sql語句轉(zhuǎn)換為MapReduce任務(wù)進(jìn)行運(yùn)行。其優(yōu)點(diǎn)是學(xué)習(xí)成本低,可以通 過類SQL語句迅速實(shí)現(xiàn)簡單的MapReduce統(tǒng)計(jì),不必開發(fā)專門的MapReduce應(yīng)用,十分適合數(shù)據(jù)倉庫的統(tǒng)計(jì)分析。
2、Hive是建立在 Hadoop 上的數(shù)據(jù)倉庫基礎(chǔ)構(gòu)架。它提供了一系列的工具,可以用來進(jìn)行數(shù)據(jù)提取轉(zhuǎn)化加載(ETL),這是一種可以存儲(chǔ)、查詢和分析存儲(chǔ)在 Hadoop 中的大規(guī)模數(shù)據(jù)的機(jī)制。Hive 定義了簡單的類 SQL 查詢語言,稱為 HQL,它允許熟悉 SQL 的用戶查詢數(shù)據(jù)。同時(shí),這個(gè)語言也允許熟悉 MapReduce 開發(fā)者的開發(fā)自定義的 mapper 和 reducer 來處理內(nèi)建的 mapper 和 reducer 無法完成的復(fù)雜的分析工作。
要理解hive,必須先理解hadoop和mapreduce,如果有不熟悉的童鞋,可以百度一下。
使用hive的命令行接口,感覺很像操作關(guān)系數(shù)據(jù)庫,但是hive和關(guān)系數(shù)據(jù)庫還是有很大的不同,下面我就比較下hive與關(guān)系數(shù)據(jù)庫的區(qū)別,具體如下:
hive和關(guān)系數(shù)據(jù)庫存儲(chǔ)文件的系統(tǒng)不同,hive使用的是hadoop的HDFS(hadoop的分布式文件系統(tǒng)),關(guān)系數(shù)據(jù)庫則是服務(wù)器本地的文件系統(tǒng);
hive使用的計(jì)算模型是mapreduce,而關(guān)系數(shù)據(jù)庫則是自己設(shè)計(jì)的計(jì)算模型;
關(guān)系數(shù)據(jù)庫都是為實(shí)時(shí)查詢的業(yè)務(wù)進(jìn)行設(shè)計(jì)的,而hive則是為海量數(shù)據(jù)做數(shù)據(jù)挖掘設(shè)計(jì)的,實(shí)時(shí)性很差;實(shí)時(shí)性的區(qū)別導(dǎo)致hive的應(yīng)用場(chǎng)景和關(guān)系數(shù)據(jù)庫有很大的不同;
Hive很容易擴(kuò)展自己的存儲(chǔ)能力和計(jì)算能力,這個(gè)是繼承hadoop的,而關(guān)系數(shù)據(jù)庫在這個(gè)方面要比數(shù)據(jù)庫差很多。
以上都是從宏觀的角度比較hive和關(guān)系數(shù)據(jù)庫的區(qū)別,今天就先分享到這,如果有更多的需求歡迎給小編投稿留言!
以上是杭州和盈教育整理的杭州編程培訓(xùn)核心技術(shù)課程有哪些全部內(nèi)容。