我是Flink的新手,并且我正在使用Flink 1.3(旧版本,但是我的公司已使用此版本...)编写流应用程序。该应用程序涉及连接一个流(来自kafka)和两个静态Hive表(每天更改一次,两个表大约有1亿行),
我想问问,连接,流API或SQL API的最佳方法是什么?在我看来,Stream API不支持从Hive读取。
这时,我想知道应该使用哪个API(数据流api或流sql api)。
谢谢!
答案 0 :(得分:0)
我认为,最适合您的方法是转换stream to table
然后将tha数据与配置单元表数据连接起来。
// get StreamTableEnvironment
// registration of a DataSet in a BatchTableEnvironment is equivalent
StreamTableEnvironment tableEnv = ...; // see "Create a TableEnvironment" section
DataStream<Tuple2<Long, String>> stream = ...
// Convert the DataStream into a Table with default fields "f0", "f1"
Table table1 = tableEnv.fromDataStream(stream);
// Convert the DataStream into a Table with fields "myLong", "myString"
Table table2 = tableEnv.fromDataStream(stream, "myLong, myString");