Я использую Flink 1.12.0 и использую следующий код для работы с пакетными данными.

Я хочу показать содержимое таблицы. Когда я вызываю print, он жалуется, что таблица не может быть преобразована в Dataset, но я не хочу использовать BatchTableEnviroment, который является своего рода старым 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()


  }

Tom

Ответов: 1

Ответы (1)

Как мне известно, для обработки временного соединения таблиц требуется, чтобы таблица поиска поддерживалась LookupTableSource. Пока что в кодовой базе самого Flink только Hive, HBase и JDBC коннектор реализуют этот интерфейс. Если вы хотите быстро опробовать этот интерфейс, вы также можете использовать [1], который также реализует этот интерфейс.

[1] https://github.com/knaufk/flink-faker

2022 WebDevInsider