Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flink 如何在批处理模式下显示TableEnvironment的表内容_Apache Flink_Flink Sql - Fatal编程技术网

Apache flink 如何在批处理模式下显示TableEnvironment的表内容

Apache flink 如何在批处理模式下显示TableEnvironment的表内容,apache-flink,flink-sql,Apache Flink,Flink Sql,我正在使用Flink 1.12.0,并使用以下代码处理批处理数据 我想展示一下表格的内容。当我调用print时,它抱怨无法将表转换为数据集,但我不想使用BatchTableEnvironment,这是一种旧的planner API test("batch test") { val settings = EnvironmentSettings.newInstance().inBatchMode().useBlinkPlanner().build() val t

我正在使用Flink 1.12.0,并使用以下代码处理批处理数据

我想展示一下表格的内容。当我调用
print
时,它抱怨无法将表转换为数据集,但我不想使用BatchTableEnvironment,这是一种旧的planner API

test("batch test") {
    val settings  = EnvironmentSettings.newInstance().inBatchMode().useBlinkPlanner().build()
    val tenv = TableEnvironment.create(settings)
    val ddl =
      """
      create table sourceTable(
      key STRING,
      `date` STRING,
      price DOUBLE
      ) with (
        'connector' = 'filesystem',
        'path' = 'D:/projects/openprojects3/learn.flink.ioc/data/stock.csv',
        'format' = 'csv'
      )
      """.stripMargin(' ')
    tenv.executeSql(ddl)

    val table = tenv.sqlQuery(
      """
      select * from sourceTable
      """.stripMargin(' '))

    table.print()


  }

据我所知,处理时间时态表联接要求查找表由
LookupTableSource
支持。到目前为止,在Flink代码库中,只有Hive、HBase和JDBC连接器实现了这个接口。如果您想快速尝试这个方法,还可以使用[1],它也实现了上述接口


[1]

感谢@snntrable对我的帮助,我将尝试使用mysql作为JDBC LookupTableSource,以及faker source。