最近需要将mysql的数据整合到HBase中,原本使用MapReduce,自己制作job将mysql的数据导入,

查阅资料过程中,发现了开源工具sqoop(关系性数据库与HDFS,HBASE,HIVE等)互相导入的工具,

于是准备尝试使用,看是否能够满足目前数据转移的需求。

sqoop import --connect jdbc:mysql://192.168.100.**/database --username user -P --table information --hbase-table information --column-family info --hbase-row-key market,label --columns market,label,name,py --hbase-create-table -m 1

--hbase-row-key market,label这个命令可以产生market_label格式的rowkey

采用命令的方式

sqoop import --connect jdbc:mysql://192.168.100.**/database --username user -P --query 'select a.market, a.label, DATE_FORMAT(b.datetime,"%Y%m%d%H%i%s") as time, b.open, b.high, b.low, b.close, b.volume, b.amount, b.advance, b.decline, b.position, b.turnover, b.openvolume, b.openamount from stockdata_history_dayone as b join stock_information as a on a.stockid = b.stockid where $CONDITIONS limit 10' --hbase-table stockdata_history_dayone --column-family info --hbase-row-key market,label,time --hbase-create-table -m 1

问题1:

ERROR security.UserGroupInformation: PriviledgedActionException ...

导致这个问题,主要是权限问题,使用的user没有在目标路径下创建有权限的文件夹

sudo -u hdfs hadoop fs -mkdir /user/user

sudo -u hdfs hadoop fs -chown user:user /user/user

(/user文件夹是在sqoop没有指明文件路径情况下的默认路径)

问题2:

Could not insert row with null value for row-key column:

这个问题,可能是由于使用的问题,在columns中需要指明row-key用到的列

Sqoop的使用(Mysql To HBase)的更多相关文章

  1. sqoop:mysql和Hbase/Hive/Hdfs之间相互导入数据

    1.安装sqoop 请参考http://www.cnblogs.com/Richardzhu/p/3322635.html 增加了SQOOP_HOME相关环境变量:source ~/.bashrc  ...

  2. Sqoop使用,mysql,hbase,hive等相互转换

    Sqoop 是一款用来在不同数据存储软件之间进行数据传输的开源软件,它支持多种类型的数据储存软件. 安装 Sqoop 1.下载sqoop并加mysql驱动包 http://mirror.bit.edu ...

  3. 从mysql向HBase+Phoenix迁移数据的心得总结

    * 转载请注明出处 - yosql473 - 格物致知,经世致用 mysql -> HBase + Phoenix 1.总体方案有哪些? 1)通过Sqoop直接从服务器(JDBC方式)抽取数据到 ...

  4. 分布式爬虫系统设计、实现与实战:爬取京东、苏宁易购全网手机商品数据+MySQL、HBase存储

    http://blog.51cto.com/xpleaf/2093952 1 概述 在不用爬虫框架的情况,经过多方学习,尝试实现了一个分布式爬虫系统,并且可以将数据保存到不同地方,类似MySQL.HB ...

  5. 记一次sqoop同步到mysql

    工作中需要用到将hive的数据导一份到mysql中,需求是这样的:hive每天会产生一份用户标签(tag)发生变化的结果表user_tag,这份结果同步到mysql中,并且保持一份全量表,存储当前用户 ...

  6. sqoop导出到mysql中文乱码问题总结、utf8、gbk

    sqoop导出到mysql中文乱码问题总结.utf8.gbk 今天使用sqoop1.4.5版本的(hadoop使用cdh5.4)因为乱码问题很是头痛半天.下面进行一一总结 命令: [root@sdzn ...

  7. MySQL、HBase、ES的特点和区别

    MySQL:关系型数据库,主要面向OLTP,支持事务,支持二级索引,支持sql,支持主从.Group Replication架构模型(本文全部以Innodb为例,不涉及别的存储引擎). HBase:基 ...

  8. sqoop用法之mysql与hive数据导入导出

    目录 一. Sqoop介绍 二. Mysql 数据导入到 Hive 三. Hive数据导入到Mysql 四. mysql数据增量导入hive 1. 基于递增列Append导入 1). 创建hive表 ...

  9. 通过sqoop来传输mysql/oracle/vertica数据至HBASE

    首先要注意将连接用的jar包,放到sqoop目录下,我的是/var/lib/sqoop 如果没有主键,则要加上-m 1 export正确的jdk目录 当做key的列必须唯一存在,不然报错 --mysq ...

随机推荐

  1. javascript console

    javascript console console.log(object[, object, ...])在控制台输出一条消息.如果有多个参数,输出时会用空格隔开这些参数. 第一个参数可以是一个包含格 ...

  2. arcgis地图操作的资料URL,以供以后查阅

    更改Arcgis Web应用程序的端口号8399: http://help.arcgis.com/zh-cn/arcgisserver/10.0/help/arcgis_server_java_hel ...

  3. UVA 11133 - Eigensequence DP

    Given an increasing sequence of integers a1, a2, a3, . . . , ak, the E-transform produces a sequence ...

  4. hdu 3032 Nim or not Nim?(搜索打SG表)

    题意: 有n堆石子,alice先取,每次可以选择拿走一堆石子中的1~x(该堆石子总数) , 也可以选择将这堆石子分成任意的两堆.alice与bob轮流取,取走最后一个石子的人胜利. 思路: 因为数的范 ...

  5. java开发--配置ssh

    下面,我查阅了大量资料,走了不少错路,最后总结了经验后搭建出来的SSH框架. 希望第一次搭建SSH框架的会从中得到启发. 开发环境: eclipse-jee-kepler-SR1-win32 4.3. ...

  6. 本博客不再更新,欢迎访问本人托管在GitHub上的博客:www.wshunli.com

    本博客不再更新. 欢迎访问本人托管在GitHub上的博客:www.wshunli.com

  7. JBoss7配置指南

    JBoss7配置指南   1.    jboss各主要版本特性... 3 1.1.     jboss4特性... 3 1.2.     jboss5特性... 5 1.3.     jboss6特性 ...

  8. sql查询字段值的换行及回车符

    SQL的换行.回车符,在MySQL.SQL Server和Oracle中均有不同,下面以列表显示.   MySQL SQL Server Oracle 换行符 \n或\r\n或CHAR(10) CHA ...

  9. Java中使用验证码和二维码

    资源 需要:   jelly-core-1.7.0.GA.jar 网站:   http://lychie.github.io/products.html 将下载下来的 jelly-core-1.7.0 ...

  10. 下载安装和OpenCV匹配的Android开发环境

    ok blog Android与OpenCV——重新下载安装和OpenCV匹配的Android开发环境 !!OpenCV4Android开发之旅(一)----OpenCV2.4简介及 app通过Jav ...