记录今天在工作中遇到的问题,希望能解决一些道友遇到的同类问题。
今天,将mysql的数据转移hbase里面去,选择的工具是datax。
第一个问题:
但是我遇到了问题,hbase的rowkey,中间有常量固定的一部分,它是几个字段拼接而成,后来知道,rowkey的时候,index设置为-1表示该处是常量,可以设置值。这样解决了第一个问题。
第二个问题:
将mysql数据插入到hbase里面时,需要在每一行加一个新的列属性,并且该列还是常量。后台左查查右查查,想到了转移其他地方。做数据清洗的方法,但是该方法太费时间。后台想到了用sql语句来解决,sql里面的函数可以处理字段。
于是我用了replace和substr两个方法,将id转为常量字段,先截取,后替换,id的值就是常量了,后面的流程就是id成了常量,通过index下标获取id的值,就是hbase新的列值,这样解决了第二个问题。
因为datax目前在插入hbase时,还不能插入常量值,我试过用-1解决,结果告诉我datax的下标不能为负值,真是个瑕疵,希望有大牛能补上这种坑,能让我这样的小白多一些解决方案。好了,今天就这样,如果有更多的解决方案,希望在下面留言,或者发信息到我邮箱:linianest@163.com
{
"job": {
"setting": {
"speed": {
"channel": 1
},
"errorLimit": {
"record": 0,
"percentage": 0.02
}
},
"content": [
{
"reader": {
"name": "mysqlreader",
"parameter": {