请问Flink 中是否可以在 json_query 函数的 path 中使用变量,例如 select json_query( col_a, col_b) from table_a 报错 Caused by: org.apache.flink.table.planner.codegen.CodeGenException: Unsupported call: JSON_QUERY(STRING, STRING, SYMBOL NOT NULL, SYMBOL NOT NULL, SYMBOL NOT NULL) If you think this function should be supported, you can create an issue and start a discussion for it. 但是path 使用固定的串, 就可以执行 select json_query( col_a, ‘$’) from table_a
请问Flink 中是否可以在 json_query 函数的 path 中使用变量,例如 ?[阿里云实时计算 Flink版]
「点点赞赏,手留余香」
还没有人赞赏,快来当第一个赞赏的人吧!
在 Flink 中,json_query 函数的 path 参数需要是一个固定的字符串值,不能直接使用变量。这意味着您无法在 json_query 函数的 path 中动态地引用表达式或变量。
报错信息中提到了不支持带有符号的 JSON_QUERY 调用,这是因为 Flink 目前不支持将变量作为 json_query 函数的 path 参数进行解析和执行。
如果您想在 json_query 函数中使用动态路径,可以考虑使用 Flink 的 UDF(User-Defined Function)功能来实现自定义的查询逻辑。通过编写自己的 UDF,并将其应用于查询语句中,您可以实现更灵活的路径查询操作。
以下是一个示例:
然后,在您的 Flink SQL 查询中,可以使用该自定义 UDF:
这样,您可以自定义处理 JSON 查询逻辑,并在查询中根据需要传递变量参数来执行动态的路径查询。
请注意,以上代码仅为示例,请根据实际需求进行修改和调整。具体的自定义 UDF 实现可能需要根据您的数据结构和查询需求而有所不同。