我是 Flink 的新手,我正在使用 Flink 1.3(旧版本,但我的公司已经使用了这个版本...(来编写流应用程序。该应用程序涉及与一个流(来自kafka(和两个静态Hive表的连接(每天更改一次,两个表约为1亿行(,
我会问做连接,流API或SQL API的最佳方法是什么?在我看来,Stream API 不支持从 Hive 读取。
在这一点上,我想知道应该使用哪个API(数据流api或流sql api(。
谢谢!
我认为最适合您的情况是将流转换为表
然后将 tha 数据与 hive 表数据联接。
// 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");