1. 程式人生 > 其它 >通過shell指令碼監控sql執行頻率(r3筆記第50天)

通過shell指令碼監控sql執行頻率(r3筆記第50天)

什麼是hive

Hive是建立在Hadoop之上的資料倉庫基礎構架、是為了減少MapReduce編寫工作的批處理系統,Hive本身不儲存和計算資料,它完全依賴於HDFS和MapReduce。Hive可以理解為一個客戶端工具,將我們的sql操作轉換為相應的MapReduce jobs,然後在Hadoop上面執行。

簡單來說,hive就是在Hadoop上架了一層SQL介面,可以將SQL翻譯成MapReduce去Hadoop上執行,這樣使得資料開發和分析人員很方便的使用SQL來完成海量資料統計與分析,二不必使用程式語言開發MapReduce那麼麻煩。

Hive 具有 SQL 資料庫的外表,但應用場景完全不同,Hive 只適合用來做海量離線資料統計分析,也就是資料倉庫

本質是:將HQL轉化成MapReduce程式

hive和mysql的區別

1、查詢語言不同:hive是hql語言,mysql是sql語句;

2、資料儲存位置不同:hive是把資料儲存在hdfs上,而mysql資料是儲存在自己的系統中;

3、資料格式:hive資料格式可以使用者自定義,mysql有自己的系統定義格式;

4、資料更新:hive不支援資料更新,只可以讀,不可以寫,而sql支援資料更新;

5、索引:hive沒有索引,因此查詢資料的時候是通過mapreduce很暴力的把資料都查詢一遍,也造成了hive查詢資料速度很慢的原因,而mysql有索引;

6、延遲性:hive延遲性高,原因就是上邊一點所說的,而mysql延遲性低;

7、資料規模:hive儲存的資料量超級大,而mysql只是儲存一些少量的業務資料;

8、底層執行原理:hive底層是用的mapreduce,而mysql是excutor執行器;

hive sql

————————————————
深入理解Hive的優缺點以及架構原理:https://blog.csdn.net/qq_43771096/article/details/109481655
hive和mysql的區別_hive和mysql的區別是什麼:https://blog.csdn.net/weixin_28996083/article/details/113126084
Hadoop是什麼,能幹什麼,怎麼使用:https://blog.csdn.net/qq_32649581/article/details/82892861


HIVE sql 語法介紹:https://zhuanlan.zhihu.com/p/162807676