文档首页/ 数据湖探索 DLI/ 常见问题/ Flink作业类/ Flink SQL作业类/ 在Flink SQL作业中创建表使用EL表达式,作业运行提示DLI.0005错误怎么办?
更新时间:2024-11-06 GMT+08:00
分享

在Flink SQL作业中创建表使用EL表达式,作业运行提示DLI.0005错误怎么办?

问题现象

Flink SQL作业创建表时,表名使用EL表达式,运行作业时报如下错误:
DLI.0005: AnalysisException: t_user_message_input_#{date_format(date_sub(current_date(), 1), 'yyyymmddhhmmss')} is not a valid name for tables/databases. Valid names only contain alphabet characters, numbers and _.

解决方案

需要将SQL中表名的“#”字符改成“$”即可。DLI中使用EL表达式的格式为:${expr}

修改前:

t_user_message_input_#{date_format(date_sub(current_date(), 1), 'yyyymmddhhmmss')}

修改后:

t_user_message_input_${date_format(date_sub(current_date(), 1), 'yyyymmddhhmmss')}

修改后,Flink SQL作业能够正确解析表名,并根据EL表达式动态生成表名。

相关文档