首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >正在尝试将32个以上的hfile加载到一个区域的一个系列中

正在尝试将32个以上的hfile加载到一个区域的一个系列中
EN

Stack Overflow用户
提问于 2014-07-25 15:34:40
回答 3查看 4.6K关注 0票数 3

我将大量文件导入到HBase表中,因此我决定使用批量加载9.8. Bulk Loading。我已经设法通过MapReduce作业准备了数据,但是当我尝试使用以下命令完成加载时

代码语言:javascript
运行
复制
hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles <src> <target_table>

我得到了以下错误:

代码语言:javascript
运行
复制
ERROR mapreduce.LoadIncrementalHFiles: Trying to load more than 32 hfiles to family d of region with start key
Exception in thread "main" java.io.IOException: Trying to load more than 32 hfiles to one family of one region
        at org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles.doBulkLoad(LoadIncrementalHFiles.java:288)
        at org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles.run(LoadIncrementalHFiles.java:842)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)
        at org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles.main(LoadIncrementalHFiles.java:847)

您知道如何更改每个家庭和地区的hfile数量吗?是否可以从CLI中更改它?

EN

回答 3

Stack Overflow用户

发布于 2014-08-27 17:30:56

您可以在hbase-site.xml文件中配置"hbase.hregion.max.filesize",或者将-D参数配置为更高的值(可能取决于您的输入文件大小),这样创建的hfile数量将会更少。默认值为10 GB。

或者,可以在hbase-site.xml中配置"hbase.mapreduce.bulkload.max.hfiles.perRegion.perFamily",或者将-D参数配置为一个更高的值(可以从HDFS中找到为列族创建的hfile的最大数量)。默认值为32。

票数 4
EN

Stack Overflow用户

发布于 2015-10-29 00:54:49

@ashish的答案是正确的。要在shell中使用它,可以尝试使用:

代码语言:javascript
运行
复制
hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles -Dhbase.mapreduce.bulkload.max.hfiles.perRegion.perFamily=1024 <SOURCE> <TABLE>
票数 2
EN

Stack Overflow用户

发布于 2014-07-25 17:28:37

你检查过了吗?https://hbase.apache.org/xref/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html

代码语言:javascript
运行
复制
 public static final String MAX_FILES_PER_REGION_PER_FAMILY = "hbase.mapreduce.bulkload.max.hfiles.perRegion.perFamily";

 maxFilesPerRegionPerFamily = conf.getInt(MAX_FILES_PER_REGION_PER_FAMILY, 32);

您可以尝试使用要传递给作业的配置对象来更改此属性。

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

https://stackoverflow.com/questions/24950393

复制
相关文章

相似问题

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