详情页标题前

阿里云大数据开发治理平台 DataWorksHBase数据源-云淘科技

详情页1

HBase数据源为您提供读取和写入HBase的双向通道,本文为您介绍DataWorks的HBase数据同步的能力支持情况。

支持的版本

  • 支持HBase0.94.x、HBase1.1.x、HBase2.x和Phoenix5.x版本。

    • 如果您的HBase版本为HBase0.94.x,Reader和Writer端的插件请选择094x。

      "reader": {
              "plugin": "094x"
          }
      "writer": {
              "hbaseVersion": "094x"
          }
    • 如果您的HBase版本为HBase1.1.x或HBase2.x,Reader和Writer端的插件请选择11x。

      "reader": {
              "plugin": "11x"
          }
      "writer": {
              "hbaseVersion": "11x"
          }

      说明

      HBase1.1.x插件当前可以兼容HBase 2.0。

  • HBase11xsql Writer插件实现了向Hbase中的SQL(phoenix)批量导入数据。因为Phoenix对rowkey进行了数据编码,如果您直接使用HBaseAPI写入,需要手动转换数据,麻烦且易错。HBase11xsql Writer插件为您提供了单间的SQL表的数据导入方式。

    说明

    通过Phoenix的JDBC驱动,执行UPSERT语句向表中批量写入数据。因为使用上层接口,所以可以同步更新索引表。

使用限制

HBase Reader

HBase20xsql Reader

HBase11xsql Writer

  • HBase Reader不支持读取phoenix写入的数据,phoenix有特殊处理。

  • HBase Reader仅支持使用新增和使用独享数据集成资源组,不支持使用默认资源组和自定义资源组。

  • 切分表时仅支持对单个进行切分,且该列必须是表主键。

  • 按照作业的并发个数平均切分表时,仅支持以整型和字符串类型作为切分列。

  • 表名、schema名及列名大小写敏感,需要与Phoenix表实际大小写保持一致。

  • 仅支持通过Phoenix QueryServer读取数据,因此您的Phoenix必须启动QueryServer服务才能使用HBase20xsql Reader插件。

  • 仅支持使用新增和使用独享数据集成资源组。

  • 不支持带时间戳的数据导入。

  • 仅支持通过phoenix创建的表,不支持原生HBase表。

  • Writer中的列的定义顺序必须与Reader的列顺序匹配,Reader中的列顺序定义了输出的每一行中,列的组织顺序。而Writer的列顺序,定义的是在收到的数据中,Writer期待的列的顺序。示例如下:

    • Reader的列顺序为c1,c2,c3,c4。

    • Writer的列顺序为x1,x2,x3,x4。

    则Reader输出的列c1就会赋值给Writer的列x1。如果Writer的列顺序是x1,x2,x4,x3,则c3会赋值给x4,c4会赋值给x3。

  • 支持带索引的表的数据导入,可以同步更新所有的索引表。

支持的功能

HBase Reader

支持normal和multiVersionFixedColumn模式

  • normal模式:把HBase中的表当成普通二维表(横表)进行读取,获取最新版本数据。

    hbase(main):017:0> scan 'users'
    ROW                                   COLUMN+CELL
    lisi                                 column=address:city, timestamp=1457101972764, value=beijing
    lisi                                 column=address:contry, timestamp=1457102773908, value=china
    lisi                                 column=address:province, timestamp=1457101972736, value=beijing
    lisi                                 column=info:age, timestamp=1457101972548, value=27
    lisi                                 column=info:birthday, timestamp=1457101972604, value=1987-06-17
    lisi                                 column=info:company, timestamp=1457101972653, value=baidu
    xiaoming                             column=address:city, timestamp=1457082196082, value=hangzhou
    xiaoming                             column=address:contry, timestamp=1457082195729, value=china
    xiaoming                             column=address:province, timestamp=1457082195773, value=zhejiang
    xiaoming                             column=info:age, timestamp=1457082218735, value=29
    xiaoming                             column=info:birthday, timestamp=1457082186830, value=1987-06-17
    xiaoming                             column=info:company, timestamp=1457082189826, value=alibaba
    2 row(s) in 0.0580 seconds }

    读取后的数据如下所示。

    rowKey

    address:city

    address:contry

    address:province

    info:age

    info:birthday

    info:company

    lisi

    beijing

    china

    beijing

    27

    1987-06-17

    baidu

    xiaoming

    hangzhou

    china

    zhejiang

    29

    1987-06-17

    alibaba

  • multiVersionFixedColumn模式:把HBase中的表当成竖表进行读取。读出的每条记录是四列形式,依次为rowKey、family:qualifier、timestamp和value。读取时需要明确指定要读取的列,把每一个cell中的值,作为一条记录(record),若有多个版本则存在多条记录。

    hbase(main):018:0> scan 'users',{VERSIONS=>5}
    ROW                                   COLUMN+CELL
    lisi                                 column=address:city, timestamp=1457101972764, value=beijing
    lisi                                 column=address:contry, timestamp=1457102773908, value=china
    lisi                                 column=address:province, timestamp=1457101972736, value=beijing
    lisi                                 column=info:age, timestamp=1457101972548, value=27
    lisi                                 column=info:birthday, timestamp=1457101972604, value=1987-06-17
    lisi                                 column=info:company, timestamp=1457101972653, value=baidu
    xiaoming                             column=address:city, timestamp=1457082196082, value=hangzhou
    xiaoming                             column=address:contry, timestamp=1457082195729, value=china
    xiaoming                             column=address:province, timestamp=1457082195773, value=zhejiang
    xiaoming                             column=info:age, timestamp=1457082218735, value=29
    xiaoming                             column=info:age, timestamp=1457082178630, value=24
    xiaoming                             column=info:birthday, timestamp=1457082186830, value=1987-06-17
    xiaoming                             column=info:company, timestamp=1457082189826, value=alibaba
    2 row(s) in 0.0260 seconds }

    读取后的数据(4列) 如下所示。

    rowKey

    column:qualifier

    timestamp

    value

    lisi

    address:city

    1457101972764

    beijing

    lisi

    address:contry

    1457102773908

    china

    lisi

    address:province

    1457101972736

    beijing

    lisi

    info:age

    1457101972548

    27

    lisi

    info:birthday

    1457101972604

    1987-06-17

    lisi

    info:company

    1457101972653

    beijing

    xiaoming

    address:city

    1457082196082

    hangzhou

    xiaoming

    address:contry

    1457082195729

    china

    xiaoming

    address:province

    1457082195773

    zhejiang

    xiaoming

    info:age

    1457082218735

    29

    xiaoming

    info:age

    1457082178630

    24

    xiaoming

    info:birthday

    1457082186830

    1987-06-17

    xiaoming

    info:company

    1457082189826

    alibaba

HBase Writer

  • 支持源端多个字段拼接作为rowkey

    目前HBase Writer支持源端多个字段拼接作为HBase表的rowkey。

  • 写入HBase的版本支持

    写入HBase的时间戳(版本)支持:

    • 当前时间作为版本。

    • 指定源端列作为版本。

    • 指定一个时间作为版本。

支持的字段类型

离线读

支持读取HBase数据类型及HBase Reader针对HBase类型的转换列表如下表所示。

类型分类

数据集成column配置类型

数据库数据类型

整数类

long

short、int和long

浮点类

double

float和double

字符串类

string

binary_string和string

日期时间类

date

date

字节类

bytes

bytes

布尔类

boolean

boolean

HBase20xsql Reader支持大部分Phoenix类型,但也存在个别类型没有支持的情况,请注意检查你的类型。

HBase20xsql Reader针对Phoenix类型的转换列表,如下所示。

DataX内部类型

Phoenix数据类型

long

INTEGER、TINYINT、SMALLINT、BIGINT

double

FLOAT、DECIMAL、DOUBLE

string

CHAR、VARCHAR

date

DATE、TIME、TIMESTAMP

bytes

BINARY、VARBINARY

boolean

BOOLEAN

离线写

支持读取HBase数据类型,HBase Writer针对HBase类型的转换列表,如下表所示。

说明

  • column的配置需要和HBase表对应的列类型保持一致。

  • 除下表中罗列的字段类型外,其它类型均不支持。

类型分类

数据库数据类型

整数类

INT、LONG和SHORT

浮点类

FLOAT和DOUBLE

布尔类

BOOLEAN

字符串类

STRING

注意事项

如果您在测试连通性时遇到 “tried to access method com.google.common.base.Stopwatch” 的错误信息,请在新增数据源页面的JSON配置项内添加 “hbaseVersion”: “” 字段,指定您的hbase版本,例如, “hbaseVersion:”2.0.14″。

数据同步任务开发

HBase数据同步任务的配置入口和通用配置流程指导可参见下文的配置指导,详细的配置参数解释可在配置界面查看对应参数的文案提示。

创建数据源

在进行数据同步任务开发时,您需要在DataWorks上创建一个对应的数据源,操作流程请参见创建与管理数据源。

单表离线同步任务配置指导

  • 操作流程请参见通过向导模式配置离线同步任务、通过脚本模式配置离线同步任务。

  • 脚本模式配置的全量参数和脚本Demo请参见下文的附录:脚本Demo与参数说明。

常见问题

Q:并发设置多少比较合适?速度慢时增加并发有用吗?

A:数据导入进程默认JVM的堆大小是2GB,并发(channel数)是通过多线程实现的,开过多的线程有时并不能提高导入速度,反而可能因为过于频繁的GC导致性能下降。一般建议并发数(channel)为5-10。

Q:batchSize设置多少比较合适?

A:默认是256,但应根据每行的大小来计算最合适的batchSize。通常一次操作的数据量在2MB~4MB左右,用该值除以行大小,即可得到batchSize。

附录:脚本Demo与参数说明

附录:离线任务脚本配置方式

如果您配置离线任务时使用脚本模式的方式进行配置,您需要在任务脚本中按照脚本的统一格式要求编写脚本中的reader参数和writer参数,脚本模式的统一要求请参见通过脚本模式配置离线同步任务,以下为您介绍脚本模式下的数据源的Reader参数和Writer参数的指导详情。

HBase Reader脚本Demo

{
    "type":"job",
    "version":"2.0",//版本号。
    "steps":[
        {
            "stepType":"hbase",//插件名。
            "parameter":{
                "mode":"normal",//读取HBase的模式,支持normal模式、multiVersionFixedColumn模式。
                "scanCacheSize":"256",//HBase client每次RPC从服务器端读取的行数。
                "scanBatchSize":"100",//HBase client每次RPC从服务器端读取的列数。 
                "hbaseVersion":"094x/11x",//HBase版本。
                "column":[//字段。
                    {
                        "name":"rowkey",//字段名。
                        "type":"string"//数据类型。
                    },
                    {
                        "name":"columnFamilyName1:columnName1",
                        "type":"string"
                    },
                    {
                        "name":"columnFamilyName2:columnName2",
                        "format":"yyyy-MM-dd",
                        "type":"date"
                    },
                    {
                        "name":"columnFamilyName3:columnName3",
                        "type":"long"
                    }
                ],
                "range":{//指定HBase Reader读取的rowkey范围。
                    "endRowkey":"",//指定结束rowkey。
                    "isBinaryRowkey":true,//指定配置的startRowkey和endRowkey转换为byte[]时的方式,默认值为false。
                    "startRowkey":""//指定开始rowkey。
                },
                "maxVersion":"",//指定在多版本模式下的HBase Reader读取的版本数。
                "encoding":"UTF-8",//编码格式。
                "table":"",//表名。
                "hbaseConfig":{//连接HBase集群需要的配置信息,JSON格式。
                    "hbase.zookeeper.quorum":"hostname",
                    "hbase.rootdir":"hdfs://ip:port/database",
                    "hbase.cluster.distributed":"true"
                }
            },
            "name":"Reader",
            "category":"reader"
        },
        {
            "stepType":"stream",
            "parameter":{},
            "name":"Writer",
            "category":"writer"
        }
    ],
    "setting":{
        "errorLimit":{
            "record":"0"//错误记录数。
        },
        "speed":{
            "throttle":true,//当throttle值为false时,mbps参数不生效,表示不限流;当throttle值为true时,表示限流。
            "concurrent":1,//作业并发数。
            "mbps":"12"//限流,此处1mbps = 1MB/s。
        }
    },
    "order":{
        "hops":[
            {
                "from":"Reader",
                "to":"Writer"
            }
        ]
    }
}

HBase Reader脚本参数

参数

描述

是否必选

默认值

haveKerberos

haveKerberos值为true时,表示HBase集群需要kerberos认证。

说明

  • 如果该值配置为true,必须要配置以下kerberos认证相关参数:

    • kerberosKeytabFilePath

    • kerberosPrincipal

    • hbaseMasterKerberosPrincipal

    • hbaseRegionserverKerberosPrincipal

    • hbaseRpcProtection

  • 如果HBase集群没有kerberos认证,则不需要配置以上参数。

false

hbaseConfig

连接HBase集群需要的配置信息,JSON格式。必填的配置为hbase.zookeeper.quorum,表示HBase的ZK链接地址。同时可以补充更多HBase client的配置,例如设置scan的cache、batch来优化与服务器的交互。

说明

如果是云HBase的数据库,需要使用内网地址连接访问。

mode

读取HBase的模式,支持normal模式和multiVersionFixedColumn模式。

table

读取的HBase表名(大小写敏感) 。

encoding

编码方式,UTF-8或GBK,用于对二进制存储的HBase byte[]转为String时的编码。

utf-8

column

要读取的HBase字段,normal模式与multiVersionFixedColumn模式下必填。

  • normal模式下

    name指定读取的HBase列,除rowkey外,必须为列族:列名的格式。type指定源数据的类型,format指定日期类型的格式。value指定当前类型为常量,不从HBase读取数据,而是根据value值自动生成对应的列。配置格式如下所示:

    "column": 
    [
    {
      "name": "rowkey",
      "type": "string"
    },
    {
      "value": "test",
      "type": "string"
    }
    ]

    normal模式下,对于您指定的Column信息,type必须填写,name和value必须选择其一。

  • multiVersionFixedColumn模式

    name指定读取的HBase列,除rowkey外,必须为列族:列名的格式,type指定源数据的类型,format指定日期类型的格式。multiVersionFixedColumn模式下不支持常量列。配置格式如下所示:

    "column": 
    [
    {
      "name": "rowkey",
      "type": "string"
    },
    {
      "name": "info:age",
      "type": "string"
    }
    ]

maxVersion

指定在多版本模式下的HBase Reader读取的版本数,取值只能为-1或大于1的数字,-1表示读取所有版本。

multiVersionFixedColumn模式下必填项

range

指定HBase Reader读取的rowkey范围。

  • startRowkey:指定开始rowkey。

  • endRowkey:指定结束rowkey。

  • isBinaryRowkey:指定配置的startRowkey和endRowkey转换为 byte[]时的方式,默认值为false。如果为true,则调用Bytes.toBytesBinary(rowkey)方法进行转换。如果为false,则调用Bytes.toBytes(rowkey)。配置格式如下所示:

    "range": {
    "startRowkey": "aaa",
    "endRowkey": "ccc",
    "isBinaryRowkey":false
    }

scanCacheSize

HBase Reader每次从HBase中读取的行数。

256

scanBatchSize

HBase Reader每次从HBase中读取的列数。

100

HBase Writer脚本Demo

{
    "type":"job",
    "version":"2.0",//版本号
    "steps":[
        {
            "stepType":"stream",
            "parameter":{},
            "name":"Reader",
            "category":"reader"
        },
        {
            "stepType":"hbase",//插件名。
            "parameter":{
                "mode":"normal",//写入HBase的模式。
                "walFlag":"false",//关闭(false)放弃写WAL日志。
                "hbaseVersion":"094x",//Hbase版本。
                "rowkeyColumn":[//要写入的HBase的rowkey列。
                    {
                        "index":"0",//序列号。
                        "type":"string"//数据类型。
                    },
                    {
                        "index":"-1",
                        "type":"string",
                        "value":"_"
                    }
                ],
                "nullMode":"skip",//读取的为null值时,如何处理。
                "column":[//要写入的HBase字段。
                    {
                        "name":"columnFamilyName1:columnName1",//字段名。
                        "index":"0",//索引号。
                        "type":"string"//数据类型。
                    },
                    {
                        "name":"columnFamilyName2:columnName2",
                        "index":"1",
                        "type":"string"
                    },
                    {
                        "name":"columnFamilyName3:columnName3",
                        "index":"2",
                        "type":"string"
                    }
                ],
                "encoding":"utf-8",//编码格式。
                "table":"",//表名。
                "hbaseConfig":{//连接HBase集群需要的配置信息,JSON格式。
                    "hbase.zookeeper.quorum":"hostname",
                    "hbase.rootdir":"hdfs: //ip:port/database",
                    "hbase.cluster.distributed":"true"
                }
            },
            "name":"Writer",
            "category":"writer"
        }
    ],
    "setting":{
        "errorLimit":{
            "record":"0"//错误记录数。
        },
        "speed":{
            "throttle":true,//当throttle值为false时,mbps参数不生效,表示不限流;当throttle值为true时,表示限流。
            "concurrent":1, //作业并发数。
            "mbps":"12"//限流
        }
    },
    "order":{
        "hops":[
            {
                "from":"Reader",
                "to":"Writer"
            }
        ]
    }
}

HBase Writer脚本参数

参数

描述

是否必选

默认值

haveKerberos

haveKerberos值为true时,表示HBase集群需要kerberos认证。

说明

  • 如果该值配置为true,必须要配置以下kerberos认证相关参数:

    • kerberosKeytabFilePath

    • kerberosPrincipal

    • hbaseMasterKerberosPrincipal

    • hbaseRegionserverKerberosPrincipal

    • hbaseRpcProtection

  • 如果HBase集群没有kerberos认证,则不需要配置以上参数。

false

hbaseConfig

连接HBase集群需要的配置信息,JSON格式。必填的配置为hbase.zookeeper.quorum,表示HBase的ZK链接地址。同时可以补充更多HBase client的配置,例如设置scan的cache、batch来优化与服务器的交互。

说明

如果是云HBase的数据库,需要使用内网地址连接访问。

mode

写入HBase的模式,目前仅支持normal模式,后续考虑动态列模式。

table

要写入的HBase表名(大小写敏感) 。

encoding

编码方式,UTF-8或GBK,用于STRING转HBase byte[]时的编码。

utf-8

column

要写入的HBase字段:

  • index:指定该列对应Reader端column的索引,从0开始。

  • name:指定HBase表中的列,格式必须为列族:列名。

  • type:指定写入的数据类型,用于转换HBase byte[]。

rowkeyColumn

要写入的HBase的rowkey列:

  • index:指定该列对应Reader端column的索引,从0开始。如果是常量,index为-1。

  • type:指定写入的数据类型,用于转换HBase byte[]。

  • value:配置常量,常作为多个字段的拼接符。HBase Writer会将rowkeyColumn中所有列按照配置顺序进行拼接作为写入HBase的rowkey,不能全为常量。

配置格式如下所示。

"rowkeyColumn": [
          {
            "index":0,
            "type":"string"
          },
          {
            "index":-1,
            "type":"string",
            "value":"_"
          }
      ]

versionColumn

指定写入HBase的时间戳。支持当前时间、指定时间列或指定时间(三者选一),如果不配置则表示用当前时间。

  • index:指定对应Reader端column的索引,从0开始,需保证能转换为LONG。

  • type:如果是Date类型,会尝试用yyyy-MM-dd HH:mm:ss和yyyy-MM-dd HH:mm:ss SSS解析。如果是指定时间,则index为-1。

  • value:指定时间的值,LONG类型。

配置格式如下所示。

  • "versionColumn":{
    "index":1
    }
  • "versionColumn":{
    "index":-1,
    "value":123456789
    }

nullMode

读取的数据为null值时,您可以通过以下两种方式解决:

  • skip:表示不向HBase写该列。

  • empty:写入HConstants.EMPTY_BYTE_ARRAY,即new byte [0]。

skip

walFlag

HBase Client向集群中的RegionServer提交数据时(Put/Delete操作),首先会先写WAL(Write Ahead Log)日志(即HLog,一个RegionServer上的所有Region共享一个HLog),只有当WAL日志写成功后,才会接着写MemStore,最后客户端被通知提交数据成功。

如果写WAL日志失败,客户端则被通知提交失败。关闭(false)放弃写WAL日志,从而提高数据写入的性能。

false

writeBufferSize

设置HBase Client的写Buffer大小,单位字节,配合autoflush使用。

autoflush(默认处于关闭状态):

  • 开启(true):表示HBase Client在写的时候有一条put就执行一次更新。

  • 关闭(false):表示HBase Client在写的时候只有当put填满客户端写缓存时,才实际向HBase服务端发起写请求。

8M

HBase20xsql Reader脚本Demo

{
    "type":"job",
    "version":"2.0",//版本号。
    "steps":[
        {
            "stepType":"hbase20xsql",//插件名。
            "parameter":{
                "queryServerAddress": "http://127.0.0.1:8765",  //填写连接Phoenix QueryServer地址。
                "serialization": "PROTOBUF",  //QueryServer序列化格式。
                "table": "TEST",    //读取表名。
                "column": ["ID", "NAME"],   //所要读取列名。
                "splitKey": "ID"    //切分列,必须是表主键。
            },
            "name":"Reader",
            "category":"reader"
        },
        {
            "stepType":"stream",
            "parameter":{},
            "name":"Writer",
            "category":"writer"
        }
    ],
    "setting":{
        "errorLimit":{
            "record":"0"//错误记录数。
        },
        "speed":{
            "throttle":true,//当throttle值为false时,mbps参数不生效,表示不限流;当throttle值为true时,表示限流。
            "concurrent":1,//作业并发数。
            "mbps":"12"//限流,此处1mbps = 1MB/s。
        }
    },
    "order":{
        "hops":[
            {
                "from":"Reader",
                "to":"Writer"
            }
        ]
    }
}

HBase20xsql Reader脚本参数

参数

描述

是否必选

默认值

queryServerAddress

HBase20xsql Reader插件需要通过Phoenix轻客户端去连接Phoenix QueryServer,因此,您需要在此处填写对应的QueryServer地址。如果HBase增强版(Lindorm)用户需要透传user、password参数,可以在queryServerAddress后增加对应的可选属性。格式为:http://127.0.0.1:8765;user=root;password=root

serialization

QueryServer使用的序列化协议。

PROTOBUF

table

所要读取的表名(大小写敏感)。

schema

表所在的schema。

column

所配置的表中需要同步的列名集合,使用JSON的数组描述字段信息,空值表示读取所有列。默认值为空值。

全部列

splitKey

读取表时对表进行切分,如果指定splitKey,表示您希望使用splitKey代表的字段进行数据分片,数据同步因此会启动并发任务进行数据同步,提高了数据同步的效能。您可以选择两种不同的切分方式,如果splitPoint为空,默认根据方法一自动切分:

  • 方法一:根据splitKey找到最大值和最小值,然后按照指定的concurrent数平均切分。

    说明

    仅支持以整型和字符串类型作为切分列。

  • 方式二:根据设置的splitPoint进行切分。然后按照指定的concurrent同步数据。

splitPoints

根据切分列的最大值和最小值切分时不能保证避免数据热点,因此,建议切分点根据Region的startkey和endkey进行设置,保证每个查询对应单个Region。

where

筛选条件,支持对表查询增加过滤条件。HBase20xsql Reader根据指定的column、table、where条件拼接SQL,并根据该SQL进行数据抽取。

querySql

在部分业务场景中,where配置项不足以描述所筛选的条件,您可以通过该配置型来自定义筛选SQL。配置该项后,除queryserverAddress参数必须设置外,HBase20xsql Reader会直接忽略column、table、where和splitKey条件的配置,使用该项配置的内容对数据进行筛选。

HBase11xsql Writer脚本Demo

{
  "type": "job",
  "version": "1.0",
  "configuration": {
    "setting": {
      "errorLimit": {
        "record": "0"
      },
      "speed": {
            "throttle":true,//当throttle值为false时,mbps参数不生效,表示不限流;当throttle值为true时,表示限流。
            "concurrent":1, //作业并发数。
            "mbps":"1"//限流,此处1mbps = 1MB/s。
      }
    },
    "reader": {
      "plugin": "odps",
      "parameter": {
        "datasource": "",
        "table": "",
        "column": [],
        "partition": ""
      }
    },
    "plugin": "hbase11xsql",
    "parameter": {
      "table": "目标hbase表名,大小写有关",
      "hbaseConfig": {
        "hbase.zookeeper.quorum": "目标hbase集群的ZK服务器地址,向PE咨询",
        "zookeeper.znode.parent": "目标hbase集群的znode,向PE咨询"
      },
      "column": [
        "columnName"
      ],
      "batchSize": 256,
      "nullMode": "skip"
    }
  }
}

HBase11xsql Writer脚本参数

参数

描述

是否必选

默认值

plugin

插件名字,必须是hbase11xsql。

table

要导入的表名,大小写敏感,通常phoenix表都是大写表名。

column

列名,大小写敏感。通常phoenix的列名都是大写。

说明

  • 列的顺序必须与Reader输出的列的顺序一一对应。

  • 不需要填写数据类型,会自动从phoenix获取列的元数据。

hbaseConfig

hbase集群地址,zk为必填项,格式为ip1, ip2, ip3。

说明

  • 多个IP之间使用英文的逗号分隔。

  • znode是可选的,默认值是/hbase。

batchSize

批量写入的最大行数。

256

nullMode

读取到的列值为null时,您可以通过以下两种方式进行处理:

  • skip:跳过该列,即不插入该列(如果之前已经存在,则会被删除)。

  • empty:插入空值,值类型的空值是0,varchar的空值是空字符串。

skip

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/172094.html

(0)
上一篇 2023年12月10日 下午3:27
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云日志服务SLS控制台首页-云淘科技

    日志服务控制台首页提供日志应用、接入数据、Project列表、常用文档、资源报表、热门应用、新功能介绍、我的关注和联系我们等信息。 日志应用 日志服务提供的日志应用类型如下: 云产品Lens 智能运维 审计与安全 商业分析 伙伴计划 社会公益 其他 更多信息,请参见应用中心(App)。 接入数据 日志服务支持接入的数据源类型如下: 云产品 自定义代码 自建开…

    阿里云日志服务SLS 2023年12月10日
  • 阿里云对象存储OSS数据容灾-云淘科技

    OSS提供同城冗余存储和跨区域复制特性,实现同地域和跨地域级别的机房容灾能力。 同城冗余存储 OSS采用多可用区(AZ)内的数据冗余存储机制,将用户的数据冗余存储在同一地域(Region)的多个可用区。当某个可用区不可用时,仍然能够保障数据的正常访问。OSS同城冗余存储提供99.9999999999%(12个9)的数据设计持久性以及99.995%的服务可用性…

    阿里云对象存储 2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云日志服务SLS什么是日志服务告警-云淘科技

    日志服务告警是一站式的告警监控、降噪、事务管理、通知分派的智能运维平台。 产品架构 日志服务告警系统由告警监控、告警管理、通知(行动)管理等子系统组成,具体架构如下图所示: 日志服务告警功能主要包含以下功能组件: 日志存储(Logstore):日志服务提供Logstore用于存储日志类型的数据,并在日志存储的基础上提供查询和分析(SQL92语法)功能。告警监…

    阿里云日志服务SLS 2023年12月10日
  • 阿里云日志服务SLS数据压缩-云淘科技

    lz4是一种无损压缩算法,具有高速解码与压缩能力。日志服务部分API接口支持lz4压缩算法,使用lz4压缩算法可以减少网络传输流量,降低流量费用,提升接口访问速度。 压缩请求数据 日志服务如下API接口支持在HTTP请求体中传输lz4压缩格式的数据。 PutLogs(PutLogStoreLogs) PutWebtracking 其使用方法主要分为如下几个步…

    阿里云日志服务SLS 2023年12月10日
  • 阿里云对象存储OSS教程示例:通过静态网站托管部署单页应用-云淘科技

    本文介绍如何使用React框架,通过OSS的静态网站托管功能在前端快速部署一个线上可用的单页应用SPA(Single-Page Application)。 什么是单页应用 单页应用是只有一个Web页面的应用,是一种网络应用程序或网站的模型。通过动态重写当前页面与用户进行交互,而非从服务器重新加载整个新页面。单页应用避免了因页面之间的切换打断用户体验,使应用程…

    阿里云对象存储 2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。