forked from docs/doc-exports
Reviewed-by: Pruthi, Vineet <vineet.pruthi@t-systems.com> Co-authored-by: Su, Xiaomeng <suxiaomeng1@huawei.com> Co-committed-by: Su, Xiaomeng <suxiaomeng1@huawei.com>
1.9 KiB
1.9 KiB
How Do I Fix the DLI.0005 Error When Using EL Expressions to Create a Table in a Flink SQL Job?
Symptom
When I run the creation statement with an EL expression in the table name in a Flink SQL job, the following error message is displayed:
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 _.
Solution
Replace the number sign (#) in the table name to the dollar sign ($). The format of the EL expression used in DLI should be ${expr}.
Before modification:
t_user_message_input_#{date_format(date_sub(current_date(), 1), 'yyyymmddhhmmss')}
After modification:
t_user_message_input_${date_format(date_sub(current_date(), 1), 'yyyymmddhhmmss')}
After the modification, the Flink SQL job can correctly parse table names and dynamically generate table names based on EL expressions.
Parent topic: Flink SQL Jobs