最近在学习hbase,学到利用如何将数据导入到hbase中,采用的方式是批量导入:bulk load的方法,中间出现了一些问题,下面将执行的步骤记录一下,以供日后查阅: 说明:导入的方式是将csv文件的内容导入到hbase中。

1、首先是将csv文件上传到hdfs上。 hadoop fs -put simple.csv /user/username/ 上面的步骤是将simple.csv文件上传到hdfs中的/user/name中.说明:数据的间隔是制表符,若是逗号间隔符需要指定间隔符

2、通过hbase shell 界面创建相应的表

(1)进入shell界面: hbase shell

(2)创建表:create 'tablename','columnfamily'

3、通过mapreduce作业,生成Hfile文件

执行:hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.columns=HBASE_ROW_KEY,columnfamily -Dimporttsv.bulk.output=/hfile_tmp tablename /user/username/simple.csv (默认间隔符是制表符)

或者 hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.columns=HBASE_ROW_KEY,columnfamily -Dimporttsv.bulk.output=/hfile_tmp tablename -Dimporttsv.separator=, /user/username/simple.csv

4、此时mapreduce执行成功后,会在hdfs上生成一个目录,该目录就是上面的命令行指定的目录(如:-Dimporttsv.bulk.output=/hfile_tmp)。

但是该目录的权限是属于当前用户的,因此需要修改他的权限。

sudo -u hdfs hdfs dfs -chown -R hbase:hbase /hfile_tmp

5、执行最后一步,批量导入

hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles /hfile_tmp mytable

How To Use Hbase Bulk Loading的更多相关文章

  1. How-to: Use HBase Bulk Loading, and Why

    How-to: Use HBase Bulk Loading, and Why http://blog.cloudera.com/blog/2013/09/how-to-use-hbase-bulk- ...

  2. HBase Bulk Loading

    将数据导入到HBase有三种方式:(1) Mapreduce,输出为TableOutputFormat.(2) 用HBase API .(3)Bulk Loading.对于大量的数据入库,第三种数据是 ...

  3. HBase高速导入数据--BulkLoad

    Apache HBase是一个分布式的.面向列的开源数据库.它能够让我们随机的.实时的訪问大数据.可是如何有效的将数据导入到HBase呢?HBase有多种导入数据的方法.最直接的方法就是在MapRed ...

  4. 通过BulkLoad的方式快速导入海量数据

    摘要 加载数据到HBase的方式有多种,通过HBase API导入或命令行导入或使用第三方(如sqoop)来导入或使用MR来批量导入(耗费磁盘I/O,容易在导入的过程使节点宕机),但是这些方式不是慢就 ...

  5. Sqoop学习之路 (一)

    一.概述 sqoop 是 apache 旗下一款“Hadoop 和关系数据库服务器之间传送数据”的工具. 核心的功能有两个: 导入.迁入 导出.迁出 导入数据:MySQL,Oracle 导入数据到 H ...

  6. Hadoop生态圈-Sqoop部署以及基本使用方法

    Hadoop生态圈-Sqoop部署以及基本使用方法 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Sqoop(发音:skup)是一款开源的工具,主要用于在Hadoop(Hive)与 ...

  7. sqoop导入数据

    来源https://www.cnblogs.com/qingyunzong/p/8807252.html 一.概述 sqoop 是 apache 旗下一款“Hadoop 和关系数据库服务器之间传送数据 ...

  8. 【Sqoop学习之二】Sqoop使用

    环境 sqoop-1.4.6 一.基本命令1.帮助命令 [root@node101 ~]# sqoop help Warning: /usr/local/sqoop-/../hbase does no ...

  9. Bulk Load-HBase数据导入最佳实践

    一.概述 HBase本身提供了非常多种数据导入的方式,通常有两种经常使用方式: 1.使用HBase提供的TableOutputFormat,原理是通过一个Mapreduce作业将数据导入HBase 2 ...

随机推荐

  1. python视频教程大全集下载啦

    需要学习python的相关视频资源: python3英文视频教程(全87集) http://pan.baidu.com/s/1dDnGBvV Python 从入门到精通视频(全60集)链接:http: ...

  2. ADB指令

    对于ADB指令的应用,首先应该配置环境,将文件所在路径复制到高级系统设置里面的环境变量path,然后就可以在命令符上进行ADB的指示 例如adb kill-server是关掉活动 adb start- ...

  3. Unity AngryBots愤怒的机器人demo研究

    做为Unity早期的经典demo,一直从3.5以后沿用到4.7.x版本.但其内部一些做法十分不合理.比如使用过多的根目录, 创建怪物和玩家不用SpawnPoint.AI.CheckPoint的代码实现 ...

  4. matlab求解二元一次方程组的解得表达式

  5. 在代码中调用gdb

    转载:http://blog.csdn.net/hanchaoman/article/details/5583457 在SIGSEGV的handler中调用gdb, 命令gdb [exec file] ...

  6. console打印数组object具体内容

    例如 var data=[ {}, {}, {} ] 需要打印出以上data中每个{}内容,可以使用如下方式: for(var i=0;i<data.length;i++) { var a = ...

  7. CentOS6.5 安装 tomcat

    1.首先下载tomcat.tar.gz包 http://tomcat.apache.org/download-70.cgi 2.移动到目标文件夹 mv tomcat.tar.gz /usr/tomca ...

  8. Div中高度自适应增长方法

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  9. PHP 小方法之 过滤参数

    if (! function_exists ( 'parameter_filter' )) { function parameter_filter($str, $type = 'string', $f ...

  10. Workspace defines a VM that does not contain a valid jre/lib/rt.jar: C:\Program Files\Java\jre7

    Maven编译时两则信息 (Workspace以及default classpath container) 博客分类: Java   使用Maven一年有余,却总是被两则不起眼的编译信息困扰,终想查明 ...