FlinkSQL在阿里平台的使用

本文介绍了阿里云DataHub流数据处理平台,包括如何使用DDL创建source表,以及如何配置WITH参数进行数据消费。还提供了SINK代码示例,展示了将DataHub数据写入ODPS表的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据总线DataHub源表
解释:阿里云流数据处理平台DataHub是流式数据(Streaming Data)的处理平台,提供对流式数据的发布(Publish)、订阅(Subscribe)和分发功能,让您可以轻松构建基于流式数据的分析和应用。

DDL定义(举例数据是通过JSON格式传输)

create table datahub_source(
  data                       STRING
) with (
  'connector'='datahub',
  'endPoint'='<endPoint>',
  'project'='<yourProjectName>',
  'topic'='<yourTopicName>',
  'subId'='<yourSubId>',
  'accessId'='<yourAccessId>',
  'accessKey'='<yourAccessKey>''batchCount'='500',
  'batchSize'='512000',
  'flushInterval'='5000'
);

WITH 参数说明

参数说明是否必填备注
connector源表类型固定值为datahub。
endPoint消费端点信息找公司对接阿里平台负责人获取
accessIdAccessKey ID登录账户的时候详情里面获取
accessKeyAccessKey Secret登录账户的时候详情里面获取
project读取的项目
topicProject下的具体的Topic名称
subIdtopic的订阅ID多个任务不能同时使用同一个订阅。
startTime启动位点的时间格式为yyyy-MM-dd hh:mm:ss。
retryTimeout最大持续重试时间单位为毫秒,默认值为180000毫秒(半小时)。
retryInterval重试间隔单位为毫秒,默认值为1000。
maxFetchSize单次读取条数默认值为50。
maxBufferSize异步读取的最大缓存数据条数默认值为50。
lengthCheck单行字段条数检查策略
columnErrorDebug是否打开调试开关。false(默认值):关闭调试功能。true:打开调试开关,打印解析异常的日志。

SINK代码示例

CREATE TEMPORARY table datahub_sink(
  column_name1  STRING,
  column_name2 STRING,
  ingest_time  STRING,
  ds VARCHAR --动态分区列需要显式声明。
) with (
  'connector'='odps',
  'endpoint'='<endPoint>',
  'tunnelEndpoint'='<tunnelEndpoint>',
  'project'='<yourProjectName>',
  'tablename'='<tablename>',
  'topic'='<yourTopicName>',
  'accessId'='<yourAccessId>',
  'accessKey'='<yourAccessKey>',
  'partition' ='ds' --不写分区的值,表示根据ds字段的值写入不同分区。
);
INSERT INTO datahub_sink
SELECT 
    JSON_VALUE(data, '$.column_name1') as  column_name1,
    JSON_VALUE(data, '$.column_name2') as column_name2,
    cast(unix_timestamp() as string)  as     ingest_time  ,      
    DATE_FORMAT(FROM_UNIXTIME(cast(unix_timestamp() as bigint)), 'yyyyMMdd') as ds
from datahub_source; 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值