我注意到HIVE有很多依赖关系,包括服务器URL和HBASE,都是通过bigtop集成测试扫描的。
无论如何,我想知道 - 最初似乎Hive本质上是一种将SQL声明转换为MapReduce作业的方法。
hbase和“蜂巢服务器”在Hive运营世界中的作用是什么? Hive可以作为SQL独立存在 - > MapReduce客户端,还是这些严格的全局要求?
答案 0 :(得分:3)
从github代码中,我们可以看到cloudera的冒烟测试模块需要使用JDBC来连接'蜂巢。但实际上我们肯定可以在没有“服务器”的情况下使用配置单元。或者' HBase'。
1)对于服务器URL,它是从远程Java API连接到thrift服务器的URL。这里的服务器就像是Hive世界的外观(你可以参考here或下面的图片)。服务器需要由hive --service hiveserver &
启动。您可以跳过服务器并直接使用Hive CLI(嵌入模式),如上所述here。
+-----------+ +-------------+ +--------------+
| | | | | |
|java client+----->|hive server +----->metastore srv |
| | | | | |
+-----------+ +-------------+ +------+-------+
|
v
+--------------+
| |
| Database |
| |
+--------------+
2)对于HBase,如果你不打算使用HBase,你可以不关心它。 Hive是一个数据仓库工具,它可以处理位于HDFS,HBase等上的数据。访问HDFS非常简单,但使用"Hive-HBase-Integration"访问HBase有点复杂。