问题描述
我的Spark数据框只有2列,如{ Key| Value}
。这个数据框有1000万条记录。我使用Spark的批量加载方法将其插入到HBase表(具有10个预分割区域)中。这样可以很好地工作并成功加载数据。当我检查大小表时,它的大小约为151GB(453 GB,3x hadoop复制)。我对该表进行了大幅度压缩,并将表大小减小到35GB(105gb,3倍复制)。
我正在尝试在不同的集群中运行相同的代码和相同的数据。但是在这里,我对名称空间的配额限制为2TB。将HFiles加载到HBase时,我的过程失败,说它的配额限制已结束。
我想知道在批量加载期间,Spark是否创建了比所需的151GB更多的数据文件?如果是这样,如何避免呢?还是有更好的方法来加载相同的内容?
问题是,如果实际数据约为151gb(在major_compact
之前),那么为什么2TB大小不够?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)