首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将HBase表数据保存在特定的HDFS位置

问将HBase表数据保存在特定的HDFS位置
EN

Stack Overflow用户
提问于 2020-12-18 05:45:51
回答 1查看 139关注 0票数 0

在Hive表上,我可以创建外部表来保存特定HDFS位置上的数据。我想在HBase上做类似的事情,这样就可以将HBase表数据保存在外部HDFS位置上。在类似于Hive的HBase上可以这样做吗?我想知道HDFS上保存HBase表数据的默认路径是什么?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-18 16:59:40

简单来说,答案是否定的,HBase没有给您提供与Hive相同的外部表能力。

HBase的设计与Hive不同,使用不同的方法和软件来读取和写入数据。传统上,Hive使用MapReduce或Tez与HDFS中的数据交互,就像您的外部表一样,而HBase使用集群上运行的RegionServer进程的集合。通过设计,RegionServers共享HDFS中的目录树,它们在其中对文件进行操作。

在hbase.rootdir配置文件中有一个名为hbase-site.xml的属性,它在hbase-site.xml中为所有HBase数据文件设置根路径。该属性如下所示:

代码语言:javascript
复制
<property>
  <name>hbase.rootdir</name>
  <value>hdfs://hostname:8020/hbase</value>
</property> 

(没有必要手动创建这个目录,HBase会这样做。如果未设置此参数,则默认情况下,所有数据将进入hbase.tmp.dir的子目录,该子目录通常为/tmp。)

但是,这个配置设置是而不是,类似于在Hive中创建外部表。当将数据持久化到磁盘时,所有RegionServers都共享此HDFS路径。它不是用户在读取和写入数据时直接与之交互的目录。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65352312

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档