创建消息队列(MQ)源表

什么是消息队列MQ

消息队列(Message Queue),简称MQ。是阿里云商用的专业消息中间件,是企业级互联网架构的核心产品。基于高可用分布式集群技术,搭建了包括发布订阅、消息轨迹、资源统计、定时(延时)、监控报警等一套完整的消息云服务,实现分布式计算场景中所有异步解耦功能。
实时计算 Flink可以将消息队列作为流式数据输入,如下:

示例

 
   
  1. create table metaq_stream(
  2. x varchar,
  3. y varchar,
  4. z varchar
  5. ) with (
  6. type='mq',
  7. topic='blink_dXXXXXXX',
  8. endpoint='onsaddr.aliyun.com',
  9. pullIntervalMs='100',
  10. accessId='xxx',
  11. accessKey='xxx',
  12. startMessageOffset='547',
  13. consumerGroup='CID_BLINK_SOURCE_001',
  14. fieldDelimiter='####'
  15. );

注意:MQ实际上是一个非结构化存储格式,对于数据的Schema不提供强制定义,完全由业务层指定。目前实时计算支持类CSV格式文本和二进制格式。

CSV类格式

对于CSV类格式,假定你的一条MQ消息记录格式如下:

 
   
  1. 1,name,male
  2. 2,name,female

一条MQ消息可以包括0条到多条数据记录,记录与记录之间使用\n分隔。您在实时计算必须定义该MQ的DDL:

 
   
  1. create table metaq_stream(
  2. id varchar,
  3. name varchar,
  4. sex varchar
  5. ) with (
  6. type='mq',
  7. topic='blink_dXXXXXXX',
  8. endpoint='onsaddr.aliyun.com',
  9. pullIntervalMs='100',
  10. accessId='xxx',
  11. accessKey='xxx',
  12. startMessageOffset='547',
  13. consumerGroup='CID_BLINK_SOURCE_001',
  14. fieldDelimiter='####'
  15. );

WITH参数

参数注释说明备注
topictopic名
endPointendPoint地址公共云内网接入(阿里云经典网络/VPC):华东1、华东2、华北1、华北2、华南1、
香港的区域endpoint的地址是:onsaddr-internal.aliyun.com:8080 
公共云公网接入地址是:http://onsaddr-internet.aliyun.com/rocketmq/nsaddr4client-internet
accessIdaccessId
accessKeyaccessKey
consumerGroup订阅消费group名
pullIntervalMs拉取时间间隔,毫秒
startTime可选,消息消费启动的时间点
startMessageOffset可选,消息开始的偏移量 如果填了优先以startMessageoffset的位点开始加载
tag订阅的标签可选
lineDelimiter解析TT block时行分隔符可选,默认为 “\n”
fieldDelimiter字段分隔符可选,默认为”\u0001” 表示 Crtl+A 和 \001
encoding编码格式可选,默认为 “utf-8”
lengthCheck单行字段条数检查策略可选,默认为SKIP,其它可选值为EXCEPTION、PAD。SKIP:字段数目不符合时跳过 。EXCEPTION:字段数目不符合时抛出异常。PAD:按顺序填充,不存在的置为null。
columnErrorDebug是否打开调试开关,如果打开,会把解析异常的log打印出来可选,默认为false

类型映射

MQ字段类型建议实时计算字段类型
STRINGVARCHAR
本文转自实时计算—— 创建消息队列(MQ)源表
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值