datax mysql 到 hbase 时,rowkey和hbase 设置常量值的问题解决方案

本文分享了在使用DataX将MySQL数据迁移到HBase过程中遇到的两个问题及解决方案。一是如何设置RowKey中包含常量的部分,通过将index设为-1作为常量标记;二是如何在每行数据中添加常量列属性,利用SQL的replace和substr函数转换ID为常量,以此作为HBase的新列值。由于DataX当前不支持插入常量值,期待社区改进。
摘要由CSDN通过智能技术生成

记录今天在工作中遇到的问题,希望能解决一些道友遇到的同类问题。
今天,将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": {
   
                        
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值