1.org.apache.flink.table.api.TableException: Table sink does not implement a table schema.

问题:在RedisTableSink中没有重写getTableSchema方法

解决:增加重写getTableSchema

    @Override
public TableSchema getTableSchema() {return tableSchema;}

2.org.apache.flink.table.api.TableException: Table sink does not implement a consumed data type.

问题:在RedisTableSink中没有重写getConsumedDataType方法

解决:增加重写getConsumedDataType

    @Override
public DataType getConsumedDataType() {return tableSchema.toRowDataType(); }  

3.org.apache.flink.api.common.InvalidProgramException: root
|-- pay_hour: STRING
|-- item_id: STRING
is not serializable. The object probably contains or references non serializable fields.

问题:在RedisTableSink的emitDataStream方法中将tableSchema传到RedisSinkFunction方法中去,而TableSchema未实现Serializable,出现序列化的问题

解决:因为传进去的tableSchema暂时没有用到,所以去掉不传,如有必要传入需要自己扩展一个Schema 然后implements Serializable

4.org.apache.flink.client.program.ProgramInvocationException: The main method caused an error: The StreamTableSink#consumeDataStream(DataStream) must be implemented and return the sink transformation DataStreamSink. However, com.yunji.bigdata.connect.redis.RedisTableSink doesn't implement this method.

问题:使用了废弃的emitDataStream方法,而且没有重写consumeDataStream,再本地单元测试跑是没问题,on yarn跑出现以上错误

解决:将核心代码写在consumeDataStream,emitDataStream再调用consumeDataStream

在自定义Flink1.10 Sql Sink遇到的问题的更多相关文章

  1. Flink-1.10.0中的readTextFile解读

    Flink-1.10.0中的readTextFile解读 最近在学习Flink,研究了一些东西,在准备自定义一个简单的监听文件的source作为练手的时候,遇到了一个问题.就是应该如何在自己的sour ...

  2. flink-----实时项目---day07-----1.Flink的checkpoint原理分析 2. 自定义两阶段提交sink(MySQL) 3 将数据写入Hbase(使用幂等性结合at least Once实现精确一次性语义) 4 ProtoBuf

    1.Flink中exactly once实现原理分析 生产者从kafka拉取数据以及消费者往kafka写数据都需要保证exactly once.目前flink中支持exactly once的sourc ...

  3. Flink处理函数实战之一:深入了解ProcessFunction的状态(Flink-1.10)

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  4. 找工作笔试面试那些事儿(10)---SQL语句总结

    SQL语句中常用关键词及其解释如下: 1)SELECT 将资料从数据库中的表格内选出,两个关键字:从 (FROM) 数据库中的表格内选出 (SELECT).语法为 SELECT "栏位名&q ...

  5. 自定义flume的hbase sink 的序列化程序

    package com.hello.hbase; import java.nio.charset.Charset; import java.text.SimpleDateFormat; import ...

  6. Flink-1.10中的StreamingFileSink相关特性

    一切新知识的学习,都离不开官网得相关阅读,那么StreamingFileSink的官网介绍呢? https://ci.apache.org/projects/flink/flink-docs-rele ...

  7. Springboot自定义starter打印sql及其执行时间

    前面写到了通过实现mybatis提供的org.apache.ibatis.plugin.Interceptor接口实现了打印SQL执行时间,并格式化SQL及其参数,如果我们使用的是ssm还得再配置文件 ...

  8. 使用自定义端口连接SQL Server的方法(转载)

    使用过SQL Server的人大多都知道,SQL Server服务器默认监听的端口号是1433,但是我今天遇到的问题是我的机器上有三个数据库实例,这样使用TCP/IP远程连接时就产生了问题.如何在Mi ...

  9. 使用自定义端口连接SQL Server 的方法

    SQL默认是1433,使用MSSL连接时默认不需要加端口号,但是在修改了SQL端口之后,就需要添加自定义端口号了,加端口号使用的是逗号(,)而不是冒号(:). 看一下连接截图吧

  10. monaco editor 实现自定义提示(sql为例)

    monaco editor :https://www.cnblogs.com/XHappyness/p/9414177.html 这里实现自己定义的提示: .vue <template> ...

随机推荐

  1. ENGG1340 Computer Programming II

    课程内容笔记,自用,不涉及任何 assignment,exam 答案 Notes for self use, not included any assignments or exams Module ...

  2. Linux内核编译中的各类错误示例

    1. do_gettimeofday()函数的使用 linux发行版:Ubuntu22.04 linux内核:5.15.0-52-generic 预编译内核:linux-6.0.1 添加在linux- ...

  3. 处理Android的物理后退按钮

    在文章.聊天.联系.相册四个页面时,用户点击Android 物理键返回,需要直接退出程序.我这里处理很简单,直接使用react-navigation的属性backbehavior就很快的解决了. &l ...

  4. for循环axios套axios调用,同步调取

    1.function getsdd(){}事件 async/await把异步进行设置成同步进行 var url = '/api/runtime/form/save'; function checkAd ...

  5. CSP202104-4校门外的树

    `#include include include include include include include include include include include include us ...

  6. mongodb-命令小结

    小白暂时在这里记录些涉及到的 在某条记录添加一个字段: 先查询_id: db.subscriptions.find({"channel":"parking.notify. ...

  7. 【转载】Adobe Acrobat XI Pro闪退原因及解决办法

    https://www.cnblogs.com/zohoo/p/12704689.html https://www.cnblogs.com/zohoo/p/12704689.html

  8. Install Chia Blockchain on Ubuntu

    Install Chia Blockchain on Ubuntu Posted on May 4, 2021 Chia is a new kinda of Crypto Currency that ...

  9. (Fiddler)Fiddler 的相关操作

    Fiddler 的几个常用操作: 1. Statistics:会话信息统计 1)选择当前页面的第一个请求和最后一个请求,通过计算 statistics,就知道该页面总共的耗时时间. 2)查出当前页面耗 ...

  10. 本地部署一套k8s集群

    我这里准备三台本地vmware虚拟机,版本号centos7.9,一台master节点,一台node1,一台node2 kubeadm方式部署.Kubeadm 是一个 K8s 部署工具,提供 kubea ...