Mysql导出大量数据到文本,随后存入Hbase

 

1. 当需要 从Mysql的某个数据表中,导出其中的几列到文本,并且以一定的格式,则用以下命令:

 

SELECT concat(itemid,'-',clock*1000,',',value) result from history where clock>=1539155100 and clock<1539325020 into OUTFILE '/tmp/b.out';

 

第一个红色的部分,是数据库表的列名字,第二个是clock这个列和时间戳,第三个部分,是指保存到/tmp路径下的b.out文件。

所以最后文本中的内容是  “itemid值-clock值的1000倍,value值” 的格式

 

2. 如果之后需要接着将此数据文本存入hbase,那么有以下步骤:

(1)登录hbase所在的机器(主机器),执行命令,拷贝 mysql数据库所在机器上的b.out文件:

scp -r root@远程机器IP://tmp/b.out /hbase-input/b.out

(2)进入到hbase路径,即命令: /usr/local/software/hbase-0.98.5-hadoop2/bin ,接着执行:

 ./hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.separator="," -Dimporttsv.columns=HBASE_ROW_KEY,cf:q history_uint hdfs://ns1/hbase-input/b.out

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值