关于hive数仓这个概念的一些理解+查看hive底层引擎是否是tez
hive其實本身并不是一個倉庫,
而是一個sql翻譯工具.
把sql翻譯成mapreduce語句,
hadoop集群去hdfs集群上執行這些mapreduce語句
在執行的過程中去yarn申請資源,
為啥要理會這些原理性質的東西呢?
因為寫代碼的時候雖然可以不care原理,但是yarn如果資源不夠,那么hive就會卡死.
hive卡死的原因要么是編碼要么就是底層資源不夠導致卡死了.
所以,所謂的hive倉庫,其實是頂層的一個hive轉換工具+底層的HDFS+YARN資源管理器構成的.
這和我們之前的認知有所不同,之前的認知里,mysql中的SQL轉化引擎和數據存儲db文件都在一臺電腦上.
而hive倉庫這個概念,其實是單節點的SQL轉化引擎+多臺電腦構成的集群.
比較如下:
| SQL轉化引擎 | 布置在單機 | 布置在單機 |
| 底層數據存儲文件 | 存儲在單機 | 分布在集群 |
下面是查看hive底層計算引擎的命令
0: jdbc:hive2://Desktop:10000> SET hive.execution.engine;
±--------------------------+
| set |
±--------------------------+
| hive.execution.engine=mr |
±--------------------------+
Reference:
[1]Hive - How to know which execution engine I am currently using
總結
以上是生活随笔為你收集整理的关于hive数仓这个概念的一些理解+查看hive底层引擎是否是tez的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lol自走棋在哪下载 《英雄联盟》新手玩
- 下一篇: 如何查找 iPhone、iPad、Mac