文档首页 > > SQL语法参考> 数据定义语句> 创建输出流> MRS HBase输出流

MRS HBase输出流

分享
更新时间:2020/09/29 GMT+08:00

概述

CS将作业的输出数据输出到MRS的HBase中。

前提条件

  • 确保您的账户下已在MapReduce服务(MRS)里创建了您配置的集群。当前CS仅支持与未开启Kerberos认证的集群对接。
  • 该场景作业需要运行在CS的独享集群上,请确保已创建CS独享集群。

    如何创建CS独享集群,具体操作请参见《实时流计算服务用户指南》集群管理章节。

  • 确保CS独享集群与MRS集群建立对等连接,且用户可以根据实际所需设置相应安全组规则。

    如何建立VPC对等连接,请参考《实时流计算服务用户指南》对等连接章节。

    如何设置安全组规则,请参见《虚拟私有云用户指南》“安全组”章节。

  • 确保在CS集群hosts文件中添加MRS集群zookeeper地址的ip和域名映射。

    如何添加IP域名映射,请参见《实时流计算服务用户指南》集群管理章节中的“添加IP域名映射”部分。

语法

语法格式

CREATE SINK STREAM stream_id (attr_name attr_type (',' attr_name attr_type)* )WITH (type = "mrs_hbase",region = "",cluster_address = "",table_name = "",table_columns = "",illegal_data_table = "",batch_insert_data_num = "",action = "")

语法说明

表1 语法说明

参数

是否必选

说明

type

输出通道类型,"mrs_hbase"表示输出到MRS的HBase中。

region

MRS服务所在区域。

cluster_address

待插入数据表所属集群zookeeper地址,形如:ip1,ip2:port。

table_name

待插入数据的表名。

支持参数化,例如当需要某一列或者几列作为表名的一部分时,可表示为”car_pass_inspect_with_age_${car_age}“,其中car_age为列名。

table_columns

待插入的列,具体形式如:"rowKey,f1:c1,f1:c2,f2:c1",其中必须指定rowKey,当某列不需要加入数据库时,以第三列为例,可表示为"rowKey,f1:c1,,f2:c1"。

illegal_data_table

如果指定该参数,异常数据(比如:rowKey不存在)会写入该表(rowKey为taskNo加下划线加时间戳加六位随机数字,schema为info:data, info:reason),否则会丢弃。

batch_insert_data_num

表示一次性批量写入的数据条数,值必须为正整数,上限为1000,默认值为10。

action

表示数据是插入还是删除,可选值为add和delete,默认值为add。

注意事项

示例

将数据输出到MRS的HBase中。

CREATE SINK STREAM qualified_cars (
  car_id STRING,
  car_owner STRING,
  car_age INT,
  average_speed INT,
  total_miles INT
)
WITH (
  type = "mrs_hbase",
  region = "cn-north-1" ,
  cluster_address = "192.16.0.88,192.87.3.88:2181",
  table_name = "car_pass_inspect_with_age_${car_age}",
  table_columns = "rowKey,info:owner,,car:speed,car:miles",
  illegal_data_table = "illegal_data",
  batch_insert_data_num = "20",
  action = "add"
);
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问