【问题标题】:How to do join with one stream and two static hive table如何连接一个流和两个静态配置单元表
【发布时间】:2019-09-23 09:38:47
【问题描述】:

我是 Flink 新手,我正在使用 Flink 1.3(旧版本,但我公司已经使用此版本...)编写流应用程序。该应用程序涉及与一个流(来自kafka)和两个静态Hive表(每天更改一次,两个表大约1亿行)的连接,

我会问最好的方法是加入、Stream API 还是 SQL API?在我看来,Stream API 不支持从 Hive 读取。

此时,我想知道应该使用哪个API(数据流api或流sql api)。

谢谢!

【问题讨论】:

    标签: apache-flink


    【解决方案1】:

    我认为最适合您的情况是转换 stream to table

    然后将这些数据与配置单元表数据连接起来。

    // 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");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-23
      • 2019-03-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多