云服务器内容精选

  • 注意事项 若所要创建的表已经存在将报错,可以通过添加IF NOT EXISTS参数跳过该错误。 OPTIONS中的所有参数是必选的,参数名称大小写不敏感,但参数值大小写敏感。 OPTIONS中引号内的值前后不能带空格,空格也会被当做有效值。 表名及列名的描述仅支持字符串常量。 创建表时要说明列名及对应的数据类型,目前支持的数据类型为:boolean、short、int、long、float、double和string。 作为RowKey的字段(如上述语法格式中的ATTR1),其值不能为null,长度要大于0,小于或等于32767。 Cols与RowKey中的字段加起来的数量必须与DLI表的字段保持一致,即表中所有的字段都到对应到Cols和RowKey中,但是顺序可以任意。 组合Rowkey只支持String类型,在使用组合Rowkey时,每个属性后面必须带上长度。当Rowkey指定的字段只有一个的时候,该字段的类型可以是支持的所有数据类型,并且不需要填写长度。 在组合Rowkey的场景中 插入Rowkey数据时,如果某个属性的实际数据的长度比属性作为Rowkey时指定的长度要短,则会在数据后面补'\0'字符;如果某个属性的实际数据的长度比属性作为Rowkey时指定的长度要长,则会在实际插入HBase的时候进行截断。 读取HBase上的Rowkey数据时,如果某个属性的实际数据的长度比属性作为Rowkey时指定的长度要短,则会抛出异常(OutofBoundException);如果某个属性的实际数据的长度比属性作为Rowkey时指定的长度要长,则会在读取时进行截断。
  • 示例 1 2 3 4 5 6 7 8 9 CREATE TABLE test_hbase( ATTR1 int, ATTR2 int, ATTR3 string) using hbase OPTIONS ( 'ZKHost'='to-hbase-1174405101-CE1bDm5B.datasource.com:2181', 'TableName'='HBASE_TABLE', 'RowKey'='ATTR1', 'Cols'='ATTR2:CF1.C1, ATTR3:CF1.C2');
  • 关键字 表1 CREATE TABLE参数描述 参数 描述 USING [CLOUDTABLE | HBASE] 指定hbase datasource,"CLOUDTABLE"或"HBASE"二选一,大小写不敏感。 ZKHost HBase集群的ZK连接地址。 获取ZK连接地址需要先创建跨源连接,管理控制台操作请参考经典型跨源连接和增强型跨源连接。 访问CloudTable集群,填写ZK连接地址(内网)。 访问MRS集群,填写ZK所在节点IP与ZK对外端口,格式为:"ZK_IP1:ZK_PORT1,ZK_IP2:ZK_PORT2"。 说明: 访问MRS集群,只支持创建增强型跨源连接并且需要配置主机信息,管理控制台操作请参考增强型跨源连接,相关API信息请参考创建增强型跨源连接。 TableName 指定在HBase集群中已创建的表名。 RowKey 指定作为rowkey的dli关联表字段,支持单rowkey与组合rowkey。单rowkey支持数值与String类型,不需要指定长度。组合rowkey仅支持String类型定长数据,格式为:属性名1:长度,属性名2:长度。 Cols 通过逗号分隔的DLI表字段与HBase表的列之间的对应关系。其中,冒号前面放置DLI表字段,冒号后面放置HBase表信息,用‘.’分隔HBase表的列族与列名。
  • 语法格式 单个RowKey 1 2 3 4 5 6 7 8 9 CREATE TABLE [IF NOT EXISTS] TABLE_NAME ( ATTR1 TYPE, ATTR2 TYPE, ATTR3 TYPE) USING [CLOUDTABLE | HBASE] OPTIONS ( 'ZKHost'='xx', 'TableName'='TABLE_IN_HBASE', 'RowKey'='ATTR1', 'Cols'='ATTR2:CF1.C1, ATTR3:CF1.C2'); 组合RowKey 1 2 3 4 5 6 7 8 9 CREATE TABLE [IF NOT EXISTS] TABLE_NAME ( ATTR1 String, ATTR2 String, ATTR3 TYPE) USING [CLOUDTABLE | HBASE] OPTIONS ( 'ZKHost'='xx', 'TableName'='TABLE_IN_HBASE', 'RowKey'='ATTR1:2, ATTR2:10', 'Cols'='ATTR2:CF1.C1, ATTR3:CF1.C2'
  • 语法格式 单个RowKey 1 2 3 4 5 6 7 8 9 CREATE TABLE [IF NOT EXISTS] TABLE_NAME ( ATTR1 TYPE, ATTR2 TYPE, ATTR3 TYPE) USING [CLOUDTABLE | HBASE] OPTIONS ( 'ZKHost'='xx', 'TableName'='TABLE_IN_HBASE', 'RowKey'='ATTR1', 'Cols'='ATTR2:CF1.C1, ATTR3:CF1.C2'); 组合RowKey 1 2 3 4 5 6 7 8 9 CREATE TABLE [IF NOT EXISTS] TABLE_NAME ( ATTR1 String, ATTR2 String, ATTR3 TYPE) USING [CLOUDTABLE | HBASE] OPTIONS ( 'ZKHost'='xx', 'TableName'='TABLE_IN_HBASE', 'RowKey'='ATTR1:2, ATTR2:10', 'Cols'='ATTR2:CF1.C1, ATTR3:CF1.C2'
  • 关键字 表1 CREATE TABLE参数描述 参数 描述 USING [CLOUDTABLE | HBASE] 指定hbase datasource,"CLOUDTABLE"或"HBASE"二选一,大小写不敏感。 ZKHost HBase集群的ZK连接地址。 获取ZK连接地址需要先创建跨源连接,管理控制台操作请参考经典型跨源连接和增强型跨源连接。 访问CloudTable集群,填写ZK连接地址(内网)。 访问MRS集群,填写ZK所在节点IP与ZK对外端口,格式为:"ZK_IP1:ZK_PORT1,ZK_IP2:ZK_PORT2"。 说明: 访问MRS集群,只支持创建增强型跨源连接并且需要配置主机信息,管理控制台操作请参考增强型跨源连接,相关API信息请参考创建增强型跨源连接。 TableName 指定在HBase集群中已创建的表名。 RowKey 指定作为rowkey的dli关联表字段,支持单rowkey与组合rowkey。单rowkey支持数值与String类型,不需要指定长度。组合rowkey仅支持String类型定长数据,格式为:属性名1:长度,属性名2:长度。 Cols 通过逗号分隔的DLI表字段与HBase表的列之间的对应关系。其中,冒号前面放置DLI表字段,冒号后面放置HBase表信息,用‘.’分隔HBase表的列族与列名。
  • 注意事项 若所要创建的表已经存在将报错,可以通过添加IF NOT EXISTS参数跳过该错误。 OPTIONS中的所有参数是必选的,参数名称大小写不敏感,但参数值大小写敏感。 OPTIONS中引号内的值前后不能带空格,空格也会被当做有效值。 表名及列名的描述仅支持字符串常量。 创建表时要说明列名及对应的数据类型,目前支持的数据类型为:boolean、short、int、long、float、double和string。 作为RowKey的字段(如上述语法格式中的ATTR1),其值不能为null,长度要大于0,小于或等于32767。 Cols与RowKey中的字段加起来的数量必须与DLI表的字段保持一致,即表中所有的字段都到对应到Cols和RowKey中,但是顺序可以任意。 组合Rowkey只支持String类型,在使用组合Rowkey时,每个属性后面必须带上长度。当Rowkey指定的字段只有一个的时候,该字段的类型可以是支持的所有数据类型,并且不需要填写长度。 在组合Rowkey的场景中 插入Rowkey数据时,如果某个属性的实际数据的长度比属性作为Rowkey时指定的长度要短,则会在数据后面补'\0'字符;如果某个属性的实际数据的长度比属性作为Rowkey时指定的长度要长,则会在实际插入HBase的时候进行截断。 读取HBase上的Rowkey数据时,如果某个属性的实际数据的长度比属性作为Rowkey时指定的长度要短,则会抛出异常(OutofBoundException);如果某个属性的实际数据的长度比属性作为Rowkey时指定的长度要长,则会在读取时进行截断。
  • 示例 1 2 3 4 5 6 7 8 9 CREATE TABLE test_hbase( ATTR1 int, ATTR2 int, ATTR3 string) using hbase OPTIONS ( 'ZKHost'='to-hbase-1174405101-CE1bDm5B.datasource.com:2181', 'TableName'='HBASE_TABLE', 'RowKey'='ATTR1', 'Cols'='ATTR2:CF1.C1, ATTR3:CF1.C2');