Flink SQL作业相关问题 本章节主要介绍Flink作业相关问题中有关Flink SQL作业的问题。 Flink SQL作业的消费能力如何,即一天可以处理多大的数据量? Flink SQL作业的消费能力与源端的数据发送、队列大小、作业参数配置均有关系,每秒10M峰值。 实际处理数据量,与您使用时长相关。 Flink SQL中的temp流中数据是否需要定期清理,如何清理? 不需要定期清理。 Flink SQL中的temp流类似于子查询,只是逻辑意义上的流,用于简化SQL逻辑,不会产生数据存储,因而不存在清理问题。 创建FlinkSQL作业时选择OBS桶,提示未授权 问题描述 用户创建Flink SQL作业,配置参数时,选择自己创建的OBS桶,提示“该OBS桶未授权。立即授权”,单击“立即授权”后提示“服务器内部出错了,请联系客服或者稍后重试”,无法授权。 解决方案 在报错页面,通过F12查看错误详细信息: {"errorcode":"DLI.10001","errormsg":"服务内部出错了。{0} 请联系客服或者稍后重试","errorjsonopt":{"error":" Unexpected exception[NoSuchElementException: None.get]"}} 查看用户是否创建DLI委托,发现用户没有创建委托权限,在“全局配置”>“服务授权”页面勾选“Tenant Administrator(全局服务)”权限后,重试可以给OBS桶授权。 Flink SQL作业将OBS表映射为DLI的分区表 场景概述 用户使用Flink SQL作业时,需要创建OBS分区表,用于后续进行批处理。 操作步骤 该示例将carinfo数据,以day字段为分区字段,parquet为编码格式(目前仅支持parquet格式),转储数据到OBS。 create sink stream carinfos ( carId string, carOwner string, averagespeed double, day string ) partitioned by (day) with ( type "filesystem", file.path "obs://obssink/carinfos", encode "parquet", ak "{{myAk}}", sk "{{mySk}}" ); 数据最终在OBS中的存储目录结构为:obs://obssink/carinfos/dayxx/partxx。 数据生成后,可通过如下SQL语句建立OBS分区表,用于后续批处理: 1.创建OBS分区表。 create table carinfos ( carId string, carOwner string, averagespeed double ) partitioned by (day string) stored as parquet location 'obs://obssink/carinfos'; 2.从关联OBS路径中恢复分区信息。 alter table carinfos recover partitions;