真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Hive的基本概念

這篇文章主要介紹“Hive的基本概念”,在日常操作中,相信很多人在Hive的基本概念問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對(duì)大家解答”Hive的基本概念”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

我們提供的服務(wù)有:成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、外貿(mào)網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、徐聞ssl等。為近千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的徐聞網(wǎng)站制作公司

Hive簡介

什么是Hive

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

其本質(zhì)是將SQL轉(zhuǎn)換為MapReduce的任務(wù)進(jìn)行運(yùn)算,底層由HDFS來提供數(shù)據(jù)的存儲(chǔ),hive可以理解為一個(gè)將SQL轉(zhuǎn)換為MapReduce的任務(wù)的工具。

Hive可以對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)與計(jì)算

數(shù)據(jù)存儲(chǔ)依賴于HDFS

數(shù)據(jù)計(jì)算依賴于MapReduce

為什么使用Hive

直接使用hadoop所面臨的問題

人員學(xué)習(xí)成本太高

項(xiàng)目周期要求太短

MapReduce實(shí)現(xiàn)復(fù)雜查詢邏輯開發(fā)難度太大

為什么要使用Hive

操作接口采用類SQL語法,提供快速開發(fā)的能力。

避免了去寫MapReduce,減少開發(fā)人員的學(xué)習(xí)成本。

功能擴(kuò)展很方便。

Hive的特點(diǎn)

可擴(kuò)展

Hive可以自由的擴(kuò)展集群的規(guī)模,一般情況下不需要重啟服務(wù)。

延展性

Hive支持用戶自定義函數(shù),用戶可以根據(jù)自己的需求來實(shí)現(xiàn)自己的函數(shù)。

容錯(cuò)

良好的容錯(cuò)性,節(jié)點(diǎn)出現(xiàn)問題SQL仍可完成執(zhí)行。

Hive架構(gòu)

Hive的基本概念

元數(shù)據(jù):

描述數(shù)據(jù)的數(shù)據(jù)就是元數(shù)據(jù)

表的名字,

表的列

列的類型

Hive內(nèi)部執(zhí)行過程:

解釋器 -> 編譯器(會(huì)使用到元數(shù)據(jù)) -> 優(yōu)化器 -> 執(zhí)行器

基本組成

用戶接口:包括CLI、JDBC/ODBC、WebGUI。其中,CLI(command line interface)為shell命令行;JDBC/ODBC是Hive的JAVA實(shí)現(xiàn),與傳統(tǒng)數(shù)據(jù)庫JDBC類似;WebGUI是通過瀏覽器訪問Hive。

元數(shù)據(jù)存儲(chǔ):通常是存儲(chǔ)在關(guān)系數(shù)據(jù)庫如MySQL/derby中。Hive 將元數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫中。Hive 中的元數(shù)據(jù)包括表的名字,表的列和分區(qū)及其屬性,表的屬性(是否為外部表等),表的數(shù)據(jù)所在目錄等。

**解釋器、編譯器、優(yōu)化器、執(zhí)行器:**完成HQL 查詢語句從詞法分析、語法分析、編譯、優(yōu)化以及查詢計(jì)劃的生成。生成的查詢計(jì)劃存儲(chǔ)在HDFS 中,并在隨后有MapReduce 調(diào)用執(zhí)行。

Hive與Hadoop的關(guān)系

Hive利用HDFS存儲(chǔ)數(shù)據(jù),利用MapReduce查詢分析數(shù)據(jù)

Hive的基本概念

Hive與傳統(tǒng)數(shù)據(jù)庫對(duì)比

hive用于海量數(shù)據(jù)的離線數(shù)據(jù)分析

Hive的基本概念

1.數(shù)據(jù)格式。Hive中沒有定義專門的數(shù)據(jù)格式

數(shù)據(jù)格式可以由用戶指定,用戶定義數(shù)據(jù)格式需要指定三個(gè)屬性:

列分隔符(通常為空格、”\t”、”\x001″)、

行分隔符(”\n”)以及

讀取文件數(shù)據(jù)的方法(Hive 中默認(rèn)有三個(gè)文件格式 TextFile,SequenceFile 以及 RCFile)。

2.Hive在加載數(shù)據(jù)的過程中,不需要從用戶數(shù)據(jù)格式到 Hive 定義的數(shù)據(jù)格式的轉(zhuǎn)換。

3.Hive 在加載的過程中==不會(huì)對(duì)數(shù)據(jù)本身進(jìn)行任何修改,甚至不會(huì)對(duì)數(shù)據(jù)進(jìn)行掃描。==而只是將數(shù)據(jù)內(nèi)容復(fù)制或者移動(dòng)到相應(yīng)的 HDFS 目錄中。

4.Hive 中不支持對(duì)數(shù)據(jù)的改寫和添加,所有的數(shù)據(jù)都是在加載的時(shí)候中確定好的。

5.Hive 在加載數(shù)據(jù)的過程中不會(huì)對(duì)數(shù)據(jù)中的某些 Key 建立索引。Hive 要訪問數(shù)據(jù)中滿足條件的特定值時(shí),需要暴力掃描整個(gè)數(shù)據(jù),因此訪問延遲較高。由于數(shù)據(jù)的訪問延遲較高,決定了Hive 不適合在線數(shù)據(jù)查詢。

6.Hive 是建立在 Hadoop 之上的,因此 Hive 的可擴(kuò)展性是和 Hadoop 的可擴(kuò)展性是一致的。

總結(jié):hive具有sql數(shù)據(jù)庫的外表,但應(yīng)用場(chǎng)景完全不同,hive只適合用來做批量數(shù)據(jù)統(tǒng)計(jì)分析

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

1、Hive中所有的數(shù)據(jù)都存儲(chǔ)在 HDFS 中,沒有專門的數(shù)據(jù)存儲(chǔ)格式(可支持Text,SequenceFile,ParquetFile,ORC格式RCFILE等)

2.只需要在創(chuàng)建表的時(shí)候告訴 Hive 數(shù)據(jù)中的列分隔符和行分隔符,Hive 就可以解析數(shù)據(jù)。

3.Hive 中包含以下數(shù)據(jù)模型:DB、Table,External Table,Partition,Bucket。

db:在hdfs中表現(xiàn)為${hive.metastore.warehouse.dir}目錄下一個(gè)文件夾

table:在hdfs中表現(xiàn)所屬db目錄下一個(gè)文件夾

external table:與table類似,不過其數(shù)據(jù)存放位置可以在任意指定路徑

partition:在hdfs中表現(xiàn)為table目錄下的子目錄

bucket:在hdfs中表現(xiàn)為同一個(gè)表目錄下根據(jù)hash散列之后的多個(gè)文件

到此,關(guān)于“Hive的基本概念”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!


網(wǎng)頁題目:Hive的基本概念
瀏覽地址:http://weahome.cn/article/gjhdhj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部