深入淺出解析Hive?

2021-10-01 08:06:01 字數 1159 閱讀 1153

那麼hive的工作原理是什麼呢?hive提供了類sql的語句功能-hql。執行hql語句,hive能夠將這種支援本身功能的hql語句轉換為hadoop的mapreduce程式。這是程式自己完成的。也就是說,我們只要懂sql語句,那麼我們就能完成對hdfs檔案系統上的操作。對吧。因此,對於初級開發者或者運維人員來說,就不要再去寫複雜的mr**了,也不用去考慮它自己的執行框架、簡化了我們的開發運維工作。因為,只需要用它就可以完成了類似的大資料系統平台的操作。

實際生產中,我們的hive的選擇,要根據hadoop的安裝版本來決定,一般都匹配一致的版本。比如apache hadoop---> apache hive. 比如  cdh hadoop ---> cdh hadoop hive.注意一定是對應的。

hive的安裝前提:

hive 安裝的機器要能保證能訪問到hdfs集群,可以是單獨的機器,也可以是復合使用的機器。只要滿足這點就可以了。

hive為什麼要跟mysql、oracle這種關係型資料進行整合連線呢?

其實hive本身是可以不要這些外用的資料庫的。因為hive本身在安裝的時候就自身存在元資料資訊了,它的元資料資訊存在自身的內嵌的derby資料庫裡,這是hive本身自己自帶的。但是它呢有2個缺點,它支援單個客戶端連線,就是我執行乙個hive或者hive-server它就飽和了。你再開啟乙個終端,它就報錯。第二個缺點就是它無法集中管理它的metadata。我開乙個終端,他就再當前目錄下存放元資料。想想多麻煩,資料無法集中等於資訊無法實時的更新。等於hive沒用。

因此,我們就需要乙個外用的、支援多使用者的、元資料集中管理的這樣乙個資料庫軟體,那麼mysql、oracle的作用就來了......hive支援jdbc、odbc的方式進行連線

說了這麼多,hive這麼強大,它的應用場景是什麼?缺點如何?

hive並不是乙個儲存框架 他的資料存在hdfs、其實就是類似於乙個hadoop的客戶端。能寫能讀的乙個客戶端。hive裝乙個就可以了,它又不儲存資料,它又不計算、因為延遲比較高,適合離線分析。不太適應實時性的場合、支援讀多寫少的一款資料分析工具。它自動生成mr程式,效率比較低。

好,今天就分享這篇,安裝部署細節很簡單,操作也簡單。適合大家學學。

初始Hive 深入淺出學Hive

目錄 初始hive hive安裝與配置 hive 內建操作符與函式開發 hive jdbc hive引數 hive 高階程式設計 hive ql hive shell 基本操作 hive 優化 hive體系結構 hive的原理 第一部分 hive簡介 什麼是hive hive是基於hadoop的乙個...

hive引數 深入淺出學Hive

目錄 初始hive hive安裝與配置 hive 內建操作符與函式開發 hive jdbc hive引數 hive 高階程式設計 hive ql hive shell 基本操作 hive 優化 hive體系結構 hive的原理 第一部分 hive 引數 hive.exec.max.created.f...

初始Hive 深入淺出學Hive

第一部分 hive簡介 什麼是hive hive是基於hadoop的乙個資料倉儲工具,可以將結構化的資料檔案對映為一張資料庫表,並提供類sql查詢功能。本質是將sql轉換為mapreduce程式 第二部分 為什麼使用hive 面臨的問題 人員學習成本太高 專案週期要求太短 我只是需要乙個簡單的環境 ...