Apache Flink: как запросить реляционную базу данных с помощью API таблиц?

Следующий фрагмент кода взят из этого сообщения в блоге :

val sensorTable = ??? // can be a CSV file, Kafka topic, database, or ...

// register the table source
tEnv.registerTableSource("sensors", sensorTable)

Я хочу читать данные из реляционной базы данных. Есть ли у Flink TableSource для баз данных JDBC?


person Amit Dass    schedule 14.12.2017    source источник


Ответы (1)


В своей текущей версии (1.4.0, декабрь 2017 г.) Flink не предоставляет встроенного TableSource для приема данных из реляционной базы данных.

Однако существует _ 2_, который можно использовать. Вы также можете

  • используйте его для чтения данных из базы данных с помощью API DataSet и зарегистрировать DataSet как Table или
  • реализовать JdbcTableSource , который является оболочкой для JdbcInputFormat. Простая реализация JdbcTableSource должна быть легкой. Реализация поддержки параллельного чтения, проецирования или выталкивания фильтра требует больше усилий.
person Fabian Hueske    schedule 14.12.2017
comment
Поделитесь, пожалуйста, ссылочным кодом Scala для этого. Я использую версию Flink 1.3. - person Amit Dass; 14.12.2017