【发布时间】:2020-08-28 07:49:00
【问题描述】:
我正在使用使用 Java 的 Flink Table API,我想将 DataSet 转换为 DataStream ...。以下是我的代码:
TableEnvironment tableEnvironment=new TableEnvironment();
Table tab1=table.where("related_value < 2014").select("related_value,ref_id");
DataSet<MyClass>ds2=tableEnvironment.toDataSet(tab1, MyClass.class);
DataStream<MyClass> d=tableEnvironment.toDataStream(tab1, MyClass.class);
但是当我尝试执行这个程序时,它会抛出以下异常:
org.apache.flink.api.table.ExpressionException:JavaStreamingTranslator 的根无效:Root(ArraySeq((related_value,Double), (ref_id,String)))。您是否尝试过将基于 DataSet 的 Table 转换为 DataStream 或反之亦然? 我想知道我们如何使用 Flink Table API 将 DataSet 转换为 DataStream ?
我想知道的另一件事是,对于模式匹配,有可用的 Flink CEP 库。但是使用 Flink Table API 进行模式匹配是否可行?
【问题讨论】:
-
请不要在一个 Stackoverflow 问题中提出多个问题。改为为您的模式匹配问题打开另一个线程。
标签: java apache-flink flink-streaming flink-cep