[How to] HBase的bulkload使用方法】的更多相关文章

1.简介 将数据插入HBase表中的方法很多,我们可以通过TableOutputFormat以Mapreduce on HBase的方式将数据插入,也可以单纯的使用客户端API将数据插入.但是以上方法效率并不高. 而使用BulkLoad特性能够利用MR计算框架将源数据直接生成内部的hfile格式,然后可以在不重启HBase集群的场景下数据load到对应表中. BulkLoad方法能够将数据快速的load到HBase中,打一个“生动”的比方: 使用API就好比将饭一口一口喂给HBase,而使用Bu…
1.简介 当HBase数据库中存在非常重要的业务数据的时候为了保护数据的可以对数据进行备份处理.对于HBase来说从备份操作来看可分为离线备份和在线备份. 2. 前准备 在测试环境上准备有哦两套HBase集群,资源有限原因他们共享一个hdfs集群和zookeeper,通过配置不同node路径和数据路径来区别开. 其中xufeng-1上的集群中没有任何数据,xufeng-3集群上存在一些表和数据: 3.离线备份 离线备份顾名思义,在做备份的时候需要将集群停止,然后将集群在hdfs上的数据文件夹完整…
Hbase常见错误解决方法 原文转载至:https://www.jianshu.com/p/5fd74812c56c   我是通过maven管理的依赖,直接修改maven依赖中hbase的版本就可以了. 1.NoSuchColumnFamilyException org.apache.hadoop.hbase.regionserver.NoSuchColumnFamilyException: org.apache.hadoop.hbase.regionserver.NoSuchColumnFam…
1.简介 HBase备份的方法在[How to]HBase集群备份方法文章中已经有些介绍,但是这些方法都不是HBase本身的特性在支持,都是通过MR计算框架结合HBase客户端的方式,或者直接拷贝HBase的底层hdfs数据的方式进行备份的,但从操作上来说也比较繁琐复杂,数据完整性和及时性上也做的并不是很好. 本文介绍另外一种集群间的数据自动备份特性,这个特性是HBase的内部特性,用户数据备份和数据容灾和集群功能划分. 数据容灾可以认为只是为了数据的保存的措施,除此之外我们也可以灵活使用这种机…
HBase的BulkLoad有两种方式: thinrow的机制是flatmap把cell的信息进行flatmap:适合少于1万列的数据集:thinrow的涵义就是少行多列: bulkload的机制则是flatmap的是行,把行在拆分为cell是在map里面做的.适合多余1万列的数据集. Basic和ThinRows的机制其实类似,但是接收的数据格式不一样,前者接受的是一个二元组ListSeq((keyFamilyQualifier, value)):其中KeyFamilyQualifier(包括…
HBase使用bulkload批量导入数据 HBase可使用put命令向一张已经建好了的表中插入数据,然而,当遇到数据量非常大的情况,一条一条的进行插入效率将会大大降低,因此本篇博客将会整理提高批量导入的效率的一种可行方案,那就是使用Mapper类先进行数据清洗,再在APP中批量导入,废话不多说,我们直接开始吧! 1. 准备工作 首先我们准备好一份csv文件学生表,其中包含的是学生信息,具体信息如下: 对于此文件来说,每一行有四个字段,第一个代表rowkey,第二个代表name,第三个代表cou…
首先上我的输出类: /** * 功能:电池历史数据数据结构 * Created by liuhuichao on 2016/12/5. */ public class ResBatteryDataHistory implements Serializable { private String batteryNo; private Integer batteryType; private Float voltageDeviation; private Float totalVoltage; pri…
1.背景调研: 目前存在的hbase数据迁移主要分如下几类: 根据上图,可以看出: 其实主要分为两种方式:(1)hadoop层:因为hbase底层是基于hdfs存储的,所以可以通过把hdfs上的数据拷贝的方式来实现,即:DistCp. (2)hbase层:主要是基于hbase数据层的 CopyTable:需要scan全表数据,效率比较低下 Export/Import:scan全表数据到文件然后再import其他集群上 Snapshot:通过快照的方式,只对元数据进行克隆,不拷贝实际数据,因此性能…
在第一次建立Hbase表的时候,我们可能需要往里面一次性导入大量的初始化数据.我们很自然地想到将数据一条条插入到Hbase中,或者通过MR方式等. 但是这些方式不是慢就是在导入的过程的占用Region资源导致效率低下,所以很不适合一次性导入大量数据. 本文将针对这个问题介绍如何通过Hbase的BulkLoad方法来快速将海量数据导入到Hbase中. 总的来说,使用 Bulk Load 方式由于利用了 HBase 的数据信息是按照特定格式存储在 HDFS 里的这一特性,直接在 HDFS 中生成持久…
我们在<通过BulkLoad快速将海量数据导入到Hbase[Hadoop篇]>文中介绍了一种快速将海量数据导入Hbase的一种方法,而本文将介绍如何在Spark上使用Scala编写快速导入数据到Hbase中的方法.这里将介绍两种方式:第一种使用Put普通的方法来倒数:第二种使用Bulk Load API.关于为啥需要使用Bulk Load本文就不介绍,更多的请参见<通过BulkLoad快速将海量数据导入到Hbase[Hadoop篇]>. 如果想及时了解Spark.Hadoop或者H…
在第一次建立Hbase表的时候,我们可能需要往里面一次性导入大量的初始化数据.我们很自然地想到将数据一条条插入到Hbase中,或者通过MR方式等.但是这些方式不是慢就是在导入的过程的占用Region资源导致效率低下,所以很不适合一次性导入大量数据.本文将针对这个问题介绍如何通过Hbase的BulkLoad方法来快速将海量数据导入到Hbase中. 总的来说,使用 Bulk Load 方式由于利用了 HBase 的数据信息是按照特定格式存储在 HDFS 里的这一特性,直接在 HDFS 中生成持久化的…
背景 之前的博客:Spark:DataFrame写HFile (Hbase)一个列族.一个列扩展一个列族.多个列 用spark 1.6.0 和 hbase 1.2.0 版本实现过spark BulkLoad Hbase的功能,并且扩展了其只能操作单列的不便性. 现在要用spark 2.3.2 和 hbase 2.0.2 来实现相应的功能: 本以为会很简单,两个框架经过大版本的升级,API变化很大: 官网的案例其实有点难实现,且网上的资料要么老旧,要么复制黏贴实在是感人,所以花了点时间重新实现了该…
bulk-load的作用是用mapreduce的方式将hdfs上的文件装载到hbase中,对于海量数据装载入hbase非常有用,参考http://hbase.apache.org/docs/r0.89.20100621/bulk-loads.html: hbase提供了现成的程序将hdfs上的文件导入hbase,即bulk-load方式.它包括两个步骤(也可以一次完成): 1 将文件包装成hfile,hadoop jar /path/to/hbase.jar importtsv -Dimport…
需要分别从Oracle和文本文件往HBase中导入数据,这里介绍几种数据导入方案. 1.使用importTSV导入HBase importTSV支持增量导入.新数据插入,已存在数据则修改. 1.1.首先将待导入文本test_import.txt放到hdfs集群 文本格式如下(从网上找的虚拟话单数据).逗号分隔,共13个字段,其中第1个字段作为rowkey. 1,12026546272,2013/10/19,20:52,33分18秒,被叫,13727310234,北京市,省际,0,32.28,0.…
导语:本文介绍的项目主要解决 check 和 opinion2 张历史数据表(历史数据是指当业务发生过程中的完整中间流程和结果数据)的在线查询.原实现基于 Oracle 提供存储查询服务,随着数据量的不断增加,在写入和读取过程中面临性能问题,且历史数据仅供业务查询参考,并不影响实际流程,从系统结构上来说,放在业务链条上游比较重.该项目将其置于下游数据处理 Hadoop 分布式平台来实现此需求. 背景介绍 本项目主要解决 check 和 opinion2 张历史数据表(历史数据是指当业务发生过程中…
用户模型简介 知乎 AI 用户模型服务于知乎两亿多用户,主要为首页.推荐.广告.知识服务.想法.关注页等业务场景提供数据和服务, 例如首页个性化 Feed 的召回和排序.相关回答等用到的用户长期兴趣特征,问题路由.回答排序中用到的 TPR「作者创作权威度」,广告定向投放用到的基础属性等. 主要功能 提供的数据和功能主要有: 用户兴趣:长期兴趣.实时兴趣.分类兴趣.话题兴趣.keyword 兴趣.作者创作权威度等, 用户 Embedding 表示:最近邻用户.人群划分.特定用户圈定等, 用户社交属…
一.前言 HBase数据迁移是很常见的操作,目前业界主要的迁移方式主要分为以下几类: 图1.HBase数据迁移方案 从上面图中可看出,目前的方案主要有四类,Hadoop层有一类,HBase层有三类.下面分别介绍一下. 二.Hadoop层数据迁移 2.1 方案介绍 Hadoop层的数据迁移主要用到DistCp(Distributed Copy), 官方描述是:DistCp(分布式拷贝)是用于大规模集群内部和集群之间拷贝的工具. 它使用Map/Reduce实现文件分发,错误处理和恢复,以及报告生成.…
HBase操作 基本操作 创建表 Examples: hbase> create 't1', {NAME => 'f1', VERSIONS => 5} hbase> create 't1', {NAME => 'f1'}, {NAME => 'f2'}, {NAME => 'f3'} hbase> # The above in shorthand would be the following: hbase> create 't1', 'f1', 'f…
原文地址:https://www.cnblogs.com/ballwql/p/hbase_data_transfer.html 一.前言 HBase数据迁移是很常见的操作,目前业界主要的迁移方式主要分为以下几类: 图1.HBase数据迁移方案 从上面图中可看出,目前的方案主要有四类,Hadoop层有一类,HBase层有三类.下面分别介绍一下. 二.Hadoop层数据迁移 2.1 方案介绍 Hadoop层的数据迁移主要用到DistCp(Distributed Copy), 官方描述是:DistCp…
1 开发环境 在进行Hbase开发前,需要安装JDK.Hadoop和Hbase,选择一款合适的开发IDE,具体安装方法就不介绍了,我的开发环境: 操作系统:Ubuntu Java版本:jdk1.8 Hadoop版本:hadoop-2.6.0 HBase版本:hbase-1.2.0 Ecipse版本:Eclipse 使用Maven构建项目,在pom.xml中添加hbase的依赖如下: <repositories> <repository> <id>cloudera<…
1 开发环境 在进行Hbase开发前,需要安装JDK.Hadoop和Hbase,选择一款合适的开发IDE,具体安装方法就不介绍了,我的开发环境: 操作系统:Ubuntu Java版本:jdk1.8 Hadoop版本:hadoop-2.6.0 HBase版本:hbase-1.2.0 Ecipse版本:Eclipse 使用Maven构建项目,在pom.xml中添加hbase的依赖如下: <repositories> <repository> <id>cloudera<…
//写入hbase(hfile方式) org.apache.hadoop.hbase.client.Connection conn = null; try { SparkLog.debug("开始读取hbase信息..."); if (StringUtils.isNotBlank(type) && type.equalsIgnoreCase("hbase")) { SparkLog.debug("======================…
HBase官方文档 目录 序 1. 入门 1.1. 介绍 1.2. 快速开始 2. Apache HBase (TM)配置 2.1. 基础条件 2.2. HBase 运行模式: 独立和分布式 2.3.配置文件 2.4. 配置示例 2.5.重要配置   3. 升级 3.1. 从 0.94.x 升级到 0.96.x 3.2. 从 0.92.x 升级到 0.94.x 3.3. 从 0.90.x 升级到 0.92.x 3.4. 从0.20x或0.89x升级到0.90.x   4. HBase Shell…
背景介绍 本项目主要解决 check 和 opinion2 张历史数据表(历史数据是指当业务发生过程中的完整中间流程和结果数据)的在线查询.原实现基于 Oracle 提供存储查询服务,随着数据量的不断增加,在写入和读取过程中面临性能问题,且历史数据仅供业务查询参考,并不影响实际流程,从系统结构上来说,放在业务链条上游比较重.本项目将其置于下游数据处理 Hadoop 分布式平台来实现此需求.下面列一些具体的需求指标: 数据量:目前 check 表的累计数据量为 5000w+ 行,11GB:opin…
为什么用Bulk load? 批量加载数据到HBase集群,有很多种方式,比如利用 HBase API 进行批量写入数据.使用Sqoop工具批量导数到HBase集群.使用MapReduce批量导入等等,但是这些方法都有一个问题:导入数据的过程如果数据量过大,可能耗时会比较严重或者占用HBase集群资源较多(如磁盘IO.HBase Handler数等) 使用 HBase BulkLoad的方式来进行海量数据批量写入到HBase集群,可以对大数据量的情况下做一些优化,提高性能. 在使用BulkLoa…
HBase的前提条件: JDK SSH Hadoop JDK:Hadoop和JDK运行的环境,他们的守护进程运行在JVM下.HBase支持JDK 1.6以上的版本.比如: jdk-8u161-linux-x64.rpm. SSH:实现简单的服务器与主机的通信.在集群中,只有启动sshd后,才可以通过脚本远程操作其他的Hadoop和HBase进程.为了实现自动化操作,需要配置SSH免密码的的登录方式. Hadoop:HDFS是HBase的底层存储文件系统. jdk和hadoop配置文件参考文章 1…
原文链接:https://www.cnblogs.com/ballwql/p/hbase_data_transfer.html 一.前言 HBase数据迁移是很常见的操作,目前业界主要的迁移方式主要分为以下几类: 图1.HBase数据迁移方案 从上面图中可看出,目前的方案主要有四类,Hadoop层有一类,HBase层有三类.下面分别介绍一下. 二.Hadoop层数据迁移 2.1 方案介绍 Hadoop层的数据迁移主要用到DistCp(Distributed Copy), 官方描述是:DistCp…
1.sqoop将关系数据库导入到hbase的参数说明…
前言: 作为Hadoop生态系统中重要的一员, HBase作为分布式列式存储, 在线实时处理的特性, 备受瞩目, 将来能在很多应用场景, 取代传统关系型数据库的江湖地位. 本篇博文重点讲解HBase的数据导入, 描述三种方式, Client API, Bulkload, 以及Hive Over HBase. *). Client API实现借助HBase的Client API来导入, 是最简易学的方式. Configuration config = HBaseConfiguration.crea…
文章来源:http://www.open-open.com/lib/view/open1421501717312.html 实现目的: 由于hbase基于行健有序存储,在查询时使用行健十分高效,然后想要实现关系型数据库那样可以随意组合的多条件查询.查询总记录数.分页等就比较麻烦了.想要实现这样的功能,我们可以采用两种方法: 使用hbase提供的filter, 自己实现二级索引,通过二级索引 查询多符合条件的行健,然后再查询hbase. 第一种方法不多说了,使用起来很方便,但是局限性也很大,hba…