首先我们需要找到flink-hbase-connector里的HBaseRowDataLookupFunction类(这里以flink的1.13.2版本作为例子),此类是flink sql用来对hbase做维表关联的,我们的目的就是想要这个类支持前缀匹配。 public void eval(Object rowKey) throws Exception { if (cache != null) { RowData cacheRowData = cache.getIfPresen...
是的,Apache Flink 的 HBase Connector 支持流读。 具体来说,Apache Flink 的 HBase Connector 提供了两种读取 HBase 表的方式:批量读取和流式读取。其中,批量读取是通过 TableInputFormat 实现的,而流式读取是通过 HBaseSourceFunction 实现的。 在流式读取模式下,HBaseSourceFunction 可以将 HBase 表作为数据源...
从提供的信息来看,Flink 1.13.x系列使用的应该是flink-connector-hbase_2.11的一个较新版本,而不是直接指定了HBase 1.4的版本号。 例如,在整合过程中,需要找到一个与Flink 1.13.5兼容且支持环境中HBase版本的Flink HBase connector插件。然后,配置应类似于以下格式: CREATE TABLE MyTable ( ... ) WITH ( 'c...
因此,我们需要在 HBase 中创建一张表,同时还需要创建 Flink HBase table, 这两张表通过 Flink SQL 的 HBase connector 关联起来。 在容器中启动 HBase shell,创建一张名为 dim_hbase 的 HBase 表,建表语句如下所示: #在hbase shell创建 hbase表 hbase(main):002:0> create 'dim_hbase','cf' Crea...
Flink 1.13 内核的 SingleThreadMultiplexSourceReaderBase/SingleThreadFetcherManager 抽象出的框架支持前两种线程模型,开发者基于此开发 source connector 变得容易。例如 FileSource 采用了单分片串行读取模式,在一个数据分片读取后,再向 SplitEnumerator 请求新的数据分片。KafkaSource 采用了多分片多路复用模式,Split...
--sink connector篇 前言 flink sql目前逐渐被各大公司采用用于做实时数据。相比较代码coding的形式。使用flink sql更加的直观,开发成本更加低廉。目前flink sql中最重要的连接器也支持了各个大型的生态组建。如:Kafka,DynamoDB,Firehose,Kinesis,JDBC,Elasticsearch,写入文件系统,HBase,DataGen,Print 打印测试,BlackHole(...
首先创建GBase8cSinkFunction用于接受RowData数据输入,并将其Sink到配置的数据库中 代码语言:javascript 复制 packagename.lijiaqi.table;importorg.apache.flink.api.common.serialization.SerializationSchema;importorg.apache.flink.connector.jdbc.internal.options.JdbcOptions;importorg.apache.flink.table.connector.Change...
如果您有开发新连接器或者拓展现有连接器功能的需求,项目还需要依赖连接器公共包flink-connector-base或ververica-connector-common。 <!-- Flink 连接器公共接口基础依赖 --><dependency><groupId>org.apache.flink</groupId><artifactId>flink-connector-base</artifactId><version>${flink.version}</version></dep...
Table SQL API 对于 connector 提供的接口主要是一个层次关系, Source 最基础的接口叫做 DynamicTableSource,它下面有两种集成:ScanTableSource 和 LookupTableSource 。Scan 顾名思义就是对原表的扫描, Lookup 就是我们常说的对维表的典查的逻辑。这里我列了一个样例的kafka,那 ScanTableSource 可能就是我从 Kaf...
at org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.run(SplitFetcher.java:105) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor....