开发者社区> 问答> 正文

如何将自定义表源和自定义表接收器与SQL客户端集成?

假设我们定义了一个自定义的TableSource和TableSink,那么如何与SQL Client集成?我是否需要手动注册下面的自定义TableSource Sink名称?如果不手动注册,连接器类型custom1 map 如何与custom1TableSource相关?

StreamTableEnvironment tableEnv = TableEnvironment.getTableEnvironment(env);
TableSource custom1TableSource = new custom1TableSource ( );
tableEnv.registerTableSource("custom1", custom1TableSource);
然后配置下面的环境文件?

tables:

  - name: custom1TableSource
    type: Source
    update-mode: append
    connector:
      property-version: 1
      type: ***custom1****

我声明的源和接收器:

package com.abc;
public static class custom1TableSource implements StreamTableSource, DefinedRowtimeAttributes, DefinedProctimeAttribute {

package com.abc;
public static class custom1TableSink implements TableSink, AppendStreamTableSink {
https://ci.apache.org/projects/flink/flink-docs-release-1.6/dev/table/sqlClient.html#configuration

更新:

在从源代码检查后,我发现Flink通过实现StreamTableSinkFactory和ServiceLoader创建的Factory创建接收器和源实例,但是如何将接收器和源名称注册到TableSource和TabSink类?

展开
收起
flink小助手 2018-12-10 13:42:39 2202 0
1 条回答
写回答
取消 提交回答
  • flink小助手会定期更新直播回顾等资料和文章干货,还整合了大家在钉群提出的有关flink的问题及回答。

    SQL Client和Table&SQL API TableFactory都使用Java的服务提供程序接口(SPI)发现的所谓的s。

    2019-07-17 23:19:14
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server在电子商务中的应用与实践 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载