为什么配置单元依赖于服务器url和hbase?

bqucvtff  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(440)

我注意到hive有很多依赖项,包括服务器url和hbase,它们都是通过bigtop集成测试进行扫描得到的。
请参见:https://github.com/cloudera/bigtop/blob/master/test/src/smokes/hive/src/test/groovy/com/cloudera/itest/hivesmoke/testjdbcdriver.java
在任何情况下,我想知道——最初看来,hive本质上是一种将sql声明转换为mapreduce作业的方法。
hbase和“配置单元服务器”在配置单元操作世界中扮演什么角色?hive是否可以独立作为sql->mapreduce客户机,或者这些都是硬的全局需求?

myss37ts

myss37ts1#

从github代码中,我们可以看到cloudera提供的冒烟测试模块需要使用jdbc来“连接”hive。但实际上,我们肯定可以使用没有“服务器”或“hbase”的hive。
1) 对于服务器url,它是从远程JavaAPI连接到thrift服务器的url。这里的服务器就像Hive世界的门面(你可以参考这里或下面的图片)。服务器需要由启动 hive --service hiveserver & . 您可以跳过服务器,直接使用hivecli(嵌入式模式),如下所述。

+-----------+      +-------------+     +--------------+
   |           |      |             |     |              |
   |java client+----->|hive server  +----->metastore srv |
   |           |      |             |     |              |
   +-----------+      +-------------+     +------+-------+
                                                 |
                                                 v
                                           +--------------+
                                           |              |
                                           |    Database  |
                                           |              |
                                           +--------------+

2) 至于hbase,如果你不打算使用hbase,你就不会在意它。hive是一个数据仓库工具,它可以处理hdfs、hbase等数据。访问hdfs很简单,但是使用“hive-hbase集成”访问hbase有点复杂。

相关问题