Hadoop HBase和Hive是否需要位于同一台机器上?
我们目前正在构建一个新的hbase集群。架构如下所示: 现在我想添加一个新的配置单元集群。但我不知道是否应该在同一个hadoop集群上使用hbase构建hive。或者我应该为hive构建一个新的hadoop集群Hadoop HBase和Hive是否需要位于同一台机器上?,hadoop,hive,hbase,Hadoop,Hive,Hbase,我们目前正在构建一个新的hbase集群。架构如下所示: 现在我想添加一个新的配置单元集群。但我不知道是否应该在同一个hadoop集群上使用hbase构建hive。或者我应该为hive构建一个新的hadoop集群 如果我为hive构建一个新的hadoop集群,那么当我执行SQL来聚合hbase的数据时,hive和hbase之间的通信量是否会过大(好吧,hive需要将hbase上的数据导入自己的hdfs存储) 让我们首先定义HBase和Hive之间的通信量。在每个配置单元查询中,您将: 使用配置
如果我为hive构建一个新的hadoop集群,那么当我执行SQL来聚合hbase的数据时,hive和hbase之间的通信量是否会过大(好吧,hive需要将hbase上的数据导入自己的hdfs存储) 让我们首先定义HBase和Hive之间的通信量。在每个配置单元查询中,您将:
- 使用配置单元直接查询HBase
- 使用配置单元执行仓库表与HBase表的联接请求
- 使用配置单元执行外部表与HBase表的联接请求
因此,如果您有足够的容量将所有服务的数据保存在单个机架中,那么就这样做。您可以在参考链接中阅读更多有关网络和基础设施的信息。让我们首先定义HBase和Hive之间的通信量。在每个配置单元查询中,您将:
- 使用配置单元直接查询HBase
- 使用配置单元执行仓库表与HBase表的联接请求
- 使用配置单元执行外部表与HBase表的联接请求
因此,如果您有足够的容量将所有服务的数据保存在单个机架中,那么就这样做。您可以在参考链接中阅读更多关于基础设施和基础设施的信息。Hi Alex。我已经看过文件了。我知道,如果在相同的数据节点上设置一个配置单元集群,并使用hbase,我可以将一个外部表映射到一个现有的hbase表。因此,如果我理解正确,hive不必为该hbase表存储数据副本,因为它可以直接读取它。现在的问题是,这是否会对hbase的性能产生巨大影响,因为SQL可能会扫描hbase表中的太多行,或者SQL执行是一项复杂的map reduce任务?@Alexis我们公司实际上就是这样使用它的。Hive将执行SQL查询到HBase扫描程序的转换器角色,因此从技术上讲,如果您直接通过HBase执行此步骤,或者允许Hive执行此步骤,则不会有任何差异。如果查看HBaseStorageHandler类,您将看到它在sceneHi Alex后面使用标准HBase java客户端。我已经看过文件了。我知道,如果在相同的数据节点上设置一个配置单元集群,并使用hbase,我可以将一个外部表映射到一个现有的hbase表。因此,如果我理解正确,hive不必为该hbase表存储数据副本,因为它可以直接读取它。现在的问题是,这是否会对hbase的性能产生巨大影响,因为SQL可能会扫描hbase表中的太多行,或者SQL执行是一项复杂的map reduce任务?@Alexis我们公司实际上就是这样使用它的。Hive将执行SQL查询到HBase扫描程序的转换器角色,因此从技术上讲,如果您直接通过HBase执行此步骤,或者允许Hive执行此步骤,则不会有任何差异。如果查看HBaseStorageHandler类,您将看到它在幕后使用标准HBase java客户端