mrs
- 开发指南(适用于2.x及之前)
- 简介
- MapReduce服务样例工程构建方式
- HBase应用开发
- Hive应用开发
- MapReduce应用开发
- HDFS应用开发
- Spark应用开发
- 概述
- 环境准备
- 开发程序
- 调测程序
- 调优程序
- Spark接口
- FAQ
- 如何添加自定义代码的依赖包
- 如何处理自动加载的依赖包
- 运行SparkStreamingKafka样例工程时报“类不存在”问题
- 执行Spark Core应用,尝试收集大量数据到Driver端,当Driver端内存不足时,应用挂起不退出
- Spark应用名在使用yarn-cluster模式提交时不生效
- 如何采用Java命令提交Spark应用
- SparkSQL UDF功能的权限控制机制
- 由于kafka配置的限制,导致Spark Streaming应用运行失败
- 如何使用IDEA远程调试
- 使用IBM JDK产生异常,提示“Problem performing GSS wrap”信息
- Structured Streaming的cluster模式,在数据处理过程中终止ApplicationManager,应用失败
- Spark on Yarn的client模式下spark-submit提交任务出现FileNotFoundException异常
- Spark任务读取HBase报错“had a not serializable result”
- 开发规范
- Storm应用开发
- Kafka应用开发
- Presto应用开发
- OpenTSDB应用开发
- Flink应用开发
- Impala应用开发
- Alluxio应用开发
- 附录
bulkload和put应用场景
链接复制成功!
更新时间:2020/12/15 GMT+08:00
HBase支持使用bulkload和put方式加载数据,在大部分场景下bulkload提供了更快的数据加载速度,但bulkload并不是没有缺点的,在使用时需要关注bulkload和put适合在哪些场景使用。
bulkload是通过启动MapReduce任务直接生成HFile文件,再将HFile文件注册到HBase,因此错误的使用bulkload会因为启动MapReduce任务而占用更多的集群内存和CPU资源,也可能会生成大量很小的HFile文件频繁的触发Compaction,导致查询速度急剧下降。
错误的使用put,会造成数据加载慢,当分配给RegionServer内存不足时会造成RegionServer内存溢出从而导致进程退出。
下面给出bulkload和put适合的场景:
- bulkload适合的场景:
- 大量数据一次性加载到HBase。
- 对数据加载到HBase可靠性要求不高,不需要生成WAL文件。
- 使用put加载大量数据到HBase速度变慢,且查询速度变慢时。
- 加载到HBase新生成的单个HFile文件大小接近HDFS block大小。
- put适合的场景:
- 每次加载到单个Region的数据大小小于HDFS block大小的一半。
- 数据需要实时加载。
- 加载数据过程不会造成用户查询速度急剧下降。
父主题: FAQ
