用mapreduce来操作hbase的两点优化

2023-11-04


用MR来对hbase的表数据进行分布式计算。有两点配置可以优化操作,提升性能。它们分别是:

(1)scan.setCacheBlocks(false);  

 然后调用下面这句来初始化map任务    TableMapReduceUtil.initTableMapperJob

这个配置项是干什么的呢?   本次mr任务scan的所有数据不放在缓存中,一方面节省了交换缓存的操作消耗,可以提升本次mr任务的效率,另一方面,一般mr任务scan的数据都是一次性或者非经常用到的,因此不需要将它们替换到缓存中,缓存中还是放一些正常的多次访问的数据,这样可以提升查询性能。

(2)conf.setBoolean("mapred.map.tasks.speculative.execution", false);

这个 "mapred.map.tasks.speculative.execution" 配置项是干什么用的呢?

是否开启mr的map备用任务机制,如果设为true,则如果一个map任务占用时间较其他的明显长很多(策略由内部设置),在其他TT节点上新建一个map任务,两个一起做,谁先做完,便结束。    

优化项是将其设为false,为何呢,跟hbase存储机制有关,hbase本地存储机制,即hbase会尽量把hdfs上的数据文件和rs上对应region存在一台机器上,即当前的map的数据肯定在当前的机器上有本地数据,不需要网络传输。如果启用备用任务机制,则新创建备用任务时,很有可能新建备用任务的机器上没有所需要的数据的备份,如此便需要网络传输数据,增加了网络的开销,其效率会大大的降低,还不如不开启备用任务,就让原来的map任务正常做呢。当然,即便关闭了此机制,如果创建map失败(比如由于oom异常)仍然会在其他节点上重新创建此map任务。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用mapreduce来操作hbase的两点优化 的相关文章

  • Spark 在 Hbase 的 InputSplit 期间给出空指针异常

    我正在使用 Spark 1 2 1 Hbase 0 98 10 和 Hadoop 2 6 0 从 hbase 检索数据时出现空点异常 找到下面的堆栈跟踪 sparkDriver akka actor default dispatcher 2
  • 将 protobuf3 与一些依赖于 Java 中的 protobuf2 的库一起使用

    我使用protobuf3来表示我们的数据 虽然我们需要hbase来存储数据 但似乎hbase依赖于protobuf2 当我编写以下行来创建 hbase 表时 admin createTable desc 然后我得到一个例外 NoClassD
  • 在 Hadoop 作业中找不到类

    我有一个地图缩减作业 它从 DocumentDB 获取输入 我已将 jar 文件添加到源代码中的 lib 目录下 并在运行作业时使用 libjars 但我仍然收到 jar 文件中的类未找到类错误 这是我的驱动程序的一部分 public cl
  • couchdb 视图使用另一个视图?

    我对 couchdb 中的视图有疑问 目前 我有许多视图 例如 view A view B view Z 对于每个视图 它们包含相同范围的键但具有不同的值 IE view A key key 1 value 10 key key 2 val
  • MongoDB 从两个数组计算值、排序和限制

    我有一个存储浮点数组的 MongoDB 数据库 假设以下格式的文档集合 id 0 vals 0 8 0 2 0 5 有一个查询数组 例如 带有值 0 1 0 3 0 4 我想计算集合中所有元素的距离 例如 差异之和 对于给定的文档和查询 它
  • Hive 左外连接长期运行

    Hortonworks HDP 2 3 0 Hive 0 14 Table T1 partition on col1 no bucket ORC 应用程序 1 2 亿行和 6GB 数据大小Table T2 partition on col2
  • 仅使用一个映射器的 Hadoop gzip 输入文件[重复]

    这个问题在这里已经有答案了 可能的重复 为什么 hadoop 不能分割一个大文本文件 然后使用 gzip 压缩分割的内容 https stackoverflow com questions 6511255 why cant hadoop s
  • 如何在 HBase 中续订过期的 Kerberos 票证?

    我有一个小型 spring 服务 它提供基本功能 例如从 hbase 表中放入 删除 获取 一切似乎都正常 但有一个问题 启动 Tomcat 服务器 10 小时后 我的 kerberos 票证过期 因此我应该更新它 我尝试对 hbase 使
  • 如何将多个 QualifierFilter 应用于 HBase 中的一行

    我们想使用两个 QualifierFilters 过滤 HBase 表上的扫描 意味着我们只想获取表中确实具有特定列 col A 的行AND 某个其他列 col B 我们当前的方法如下所示 FilterList filterList new
  • HRegionServer 显示“错误告诉主机我们已经启动”。显示套接字异常:参数无效

    我正在尝试在 3 台 centos 机器上创建一个 hbase 集群 Hadoop v 2 8 0 已启动并在我配置的 HBase v 1 2 5 上运行 Hbase 启动正常 它启动了 HMaster 和区域服务器 但仍然在区域服务器和
  • mrjob组合器不工作python

    简单的映射组合reduce程序 映射column 1与值column 3并追加 在相同键和附加的每个映射器输出中 减少相同密钥的输出后 input 1 and input 2两个文件都包含 a 1 2 3 a 4 5 6 Code is f
  • 使用 MultipleOutputs 写入 MapReduce 中的 HBase

    我目前有一个 MapReduce 作业 它使用 MultipleOutputs 将数据发送到多个 HDFS 位置 完成后 我使用 HBase 客户端调用 在 MR 之外 将一些相同的元素添加到一些 HBase 表中 使用 TableOutp
  • 错误:org.apache.hadoop.hbase.MasterNotRunningException:null+hbase+hadoop

    我最近用两台机器 在ubuntu上 配置了hadoop集群 到目前为止效果很好 但是当我尝试在上面的 hadoop 集群上配置 hbase 时 它 显示错误 这就是我所做的 我有两台机器 192 168 1 110 Hadoop主站 192
  • Hbase 列族

    Hbase 文档表示 避免创建超过 2 3 个列族 因为 Hbase 不能很好地处理超过 2 3 个列族 其原因在于压缩和刷新 以及 IO 但是 如果我的所有列总是填充 对于每一行 那么我认为这个推理并不那么重要 因此 考虑到我对列的访问是
  • 如何定义Titan Graph DB Vertex的数据类型?

    我正在使用 Titan 和 Blueprint API 创建图形数据表 我使用 HBase 作为后端 我知道如何定义关键索引的数据类型 Example TitanKey name graph makeType name name dataT
  • 使用 Hadoop 映射两个数据集

    假设我有两个键值数据集 数据集A和B 我们称它们为数据集A和B 我想用 B 组的数据更新 A 组中的所有数据 其中两者在键上匹配 因为我要处理如此大量的数据 所以我使用 Hadoop 进行 MapReduce 我担心的是 为了在 A 和 B
  • 从 Eclipse 在 AWS-EMR 上运行 MapReduce 作业

    我在 Eclipse 中有 WordCount MapReduce 示例 我将其导出到 Jar 然后将其复制到 S3 然后我在 AWS EMR 上运行它 成功地 然后 我读到了这篇文章 http docs aws amazon com El
  • 遍历 ArrayWritable - NoSuchMethodException

    我刚刚开始使用 MapReduce 并且遇到了一个奇怪的错误 我无法通过 Google 回答该错误 我正在使用 ArrayWritable 制作一个基本程序 但是当我运行它时 在Reduce过程中出现以下错误 java lang Runti
  • hadoop中reducer的数量

    我正在学习hadoop 我发现减速器的数量非常令人困惑 1 reducer的数量与partition的数量相同 2 reducer 的数量是 0 95 或 1 75 乘以 节点数 每个节点的最大容器数 3 减速机数量设定为mapred re
  • mongodb - 检索数组子集

    看似简单的任务对我来说是一个挑战 我有以下 mongodb 结构 services TCP80 data status 1 delay 3 87 ts 1308056460 status 1 delay 2 83 ts 1308058080

随机推荐

  • docker gpu 创建 训练环境_基于虚拟化的模型训练平台实践

    写在前面 近几年 人工智能快速发展 与各行各业的结合也成为业界不断探索的方向 在金融科技领域 风控逐步从传统风控转向大数据风控以及智能风控 主要通过人工智能核心技术 知识图谱 机器学习 深度学习 作为主要驱动力 为金融业的各参与主体 各业务
  • 金山卫士开源软件之旅(四) netmon下FwProxy工程的解析---接口实现及接口使用方法

    转载请标明是引用于 http blog csdn net chenyujing1234 上一篇文章 lt lt 金山卫士开源软件之旅 三 netmon下FwProxy工程的解析 COM组件的管理模式 gt gt 中讲到如何去实现CFwPro
  • 中小企业数字化转型难?为什么不试试“企业级”无代码平台

    首先 让我们思考一下 中小企业为什么要进行数字化转型 随着全球经济的数字化趋势日益明显 中小企业作为经济的重要组成部分 其数字化转型已成为推动经济高质量发展的关键 数字技术可以帮助中小企业提高生产效率 降低成本 提升产品质量和创新能力 从而
  • 基于matlab实现的水果识别系统设计

    水果识别 摘要 本项目针对多种常见水果混合的图像 利用 Matlab 软件 对水果的识别进行研究 根据水果和背景的差别选取阈值 对去噪增强对比度后的图像进行二值化处理 再对图像进行边缘检测 选定连通区域 标记后再对不同种水果的颜色 形状 大
  • 【机器学习】机器学习实验二:支持向量机(详细代码展示)

    文章目录 一 项目地址 二 实验二的详细代码 一 项目地址 https mbd pub o bread ZJWampxx 二 实验二的详细代码 手动调参
  • Mysql递归查询子级(父子级结构)&从子级ID查询所有父级(及扩展知识)

    文章目录 1 建表及插入数据 2 递归查询子级 包括or不包括自己 递归查询子级sql 可能存在的问题 处理这个存在的问题 可借鉴的扩展参考 重要 mysql根据父节点递归查询所有子节点 根据一个父节点查询所有子节点 包含自身 根据多个父节
  • React 项目怎么引入自定义组件、传递参数到组件

    1 首先需要在使用组件的页面引入自定义组件 src index js 是一个入口文件 我们也可以在这里引用 import React Suspense Component from react 引入自定义组件 import ReactDOM
  • Python番外篇:用Pygame制作一场漂亮的流星雨

    hello 大家好 我是wangzirui32 今天我们来学习如何用Pygame制作一场漂亮的流星雨 开始学习吧 文章目录 前言 1 素材图片 2 项目结构 3 编写代码 3 1 Star类 3 2 主项目demo py 4 效果展示 写在
  • 详解linux下的串口通讯开发

    串行口是计算机一种常用的接口 具有连接线少 通讯简单 得到广泛的使用 常用的串口是RS 232 C接口 又称EIA RS 232 C 它是在1970年由美国电子工业协会 EIA 联合贝尔系统 调制解调器厂家及计算机终端生产厂家共同制定的用于
  • 【UE4】纯蓝图实现数据表(DataTable)的写入存储

    前言 UE4可以方便的实现表格的读取 通常是将csv表格文件按对应表头结构体导入后 作为引擎内的DataTable类型文件再进行使用 读取DataTable的操作 可以通过GetDataTableRowNames和GetDataTableR
  • 简单介绍使用图片 base64 编码的优点和缺点。

    base64 编码是一种图片处理格式 通过特定的算法将图片编码成一长串字符串 在页面上 显示的时候 可以用该字符串来代替图片的 url 属性 使用 base64 的优点是 1 减少一个图片的 HTTP 请求 使用 base64 的缺点是 1
  • 采用定时器指令和比较指令控制多台电动机顺序起动、逆序停止

    实验要求 在一些机械的生产过程中 经常需要到要求多台电动机的起动和停止按照一定的顺序进行 例如 要求三台电动机M1 M2 M3在按下起动开关时电动机顺序启动 起动的顺序为M1 M2 M3 顺序起动时时间的间隔为60秒 启动完毕后电动机正常工
  • Python练习之选择与循环

    目录 1 编写程序 运行后用户输入4位整数作为年份 判断其是否为闰年 提示 如果年份能被400整除 则为闰年 如果年份能被4整除但不能被100整除也为闰年 2 编写程序 用户从键盘输入小于 1000 的整数 对其进行因式分解 例如 10 2
  • 你好,语义分割(二)

    在 你好 语义分割 一 中 我们介绍了语义分割的概念 数据的准备过程和模型设计 并且使用数据加载器对数据进行训练集 验证集和测试集的拆分 接下来 我们使用训练集对模型进行训练 用来学习理想的参数 2 3 训练 Train 2 3 1 学习准
  • 2019中科实数杯( Q1内存镜像取证分析、Q4加密磁盘分析)

    文章目录 题目 Q1 内存取证 Q4 加密容器 题目 Q1 内存取证 Q4 加密容器
  • pppoe路由桥混合模式_为什么宽带账号分路由模式和桥接模式?

    我看了下他人的回答都是说的 猫 是怎么回事 宽带连接相关的和这个问题根本不沾边的 都在说光猫设备与宽带账号的设置 根据我所知道的回答一下这个问题 家庭的光猫大部分由路由模式和桥接模式 无线路由器的WAN接口的连接方式由桥接模式 PPPOE拨
  • Spark原理-SparkSql框架优化策略

    有了SparkCore为什么还要有SparkSql呢 有两大原因 一是SparkCore只能用Api 这就把很多SqlBoy拒之门外 Spark就无法发扬光大了 二是使用Api时用户编写的函数作为一个个闭包被序列化后分发到Executor执
  • kubesphere devops使用

    一 创建项目 1 创建项目 企业管理员切换到相应企业空间 租户 创建项目 k8s集群会创建一个相同名字的namespace 如下图所示管理员创建一个ipaas devops项目 2 创建镜像拉取密钥信息 进入项目如ipaas devops
  • elasticsearch7.0 通过api 分页查询产生的问题

    Result window is too large from size must be less than or equal to 10000 but was 44232 See the scroll api for a more eff
  • 用mapreduce来操作hbase的两点优化

    用mapreduce来操作hbase的两点优化 用MR来对hbase的表数据进行分布式计算 有两点配置可以优化操作 提升性能 它们分别是 1 scan setCacheBlocks false 然后调用下面这句来初始化map任务 Table