Re: flink 输出异常数据

2023-05-31 Thread Shammon FY
Hi

可以看一下报空指针的具体异常栈,如果是你的业务代码,可以在你的处理逻辑里加上一些判断信息并打印到日志文件;如果不是你的业务代码,可以贴一下具体的异常栈信息。

On Wed, May 31, 2023 at 12:31 PM yidan zhao  wrote:

> 这个得靠你自己打日志吧,在可能出NPE的地方 try catch 到,然后打印原始记录。
>
> 小昌同学  于2023年5月29日周一 18:30写道:
> >
> > 你好,数据源是kafka,使用的是stream api
> >
> >
> > | |
> > 小昌同学
> > |
> > |
> > ccc0606fight...@163.com
> > |
> >  回复的原邮件 
> > | 发件人 | Weihua Hu |
> > | 发送日期 | 2023年5月29日 15:29 |
> > | 收件人 |  |
> > | 主题 | Re: flink 输出异常数据 |
> > Hi,
> >
> > 你使用的数据源是什么呢?Kafka 吗?用的是 FlinkSQL 还是 DataStream API 呢?
> >
> > 方便把异常栈贴一下吗
> >
> > Best,
> > Weihua
> >
> >
> > On Mon, May 29, 2023 at 1:36 PM 小昌同学  wrote:
> >
> >
> >
> 各位老师,我有一个作业运行很久了,但是最近源系统有一些脏数据导致作业运行失败,看yarn的日志报错是空指针,但是我现在想把那一条脏数据捕获到,请问一下有啥办法吗?谢谢各位老师的指导
> >
> >
> > | |
> > 小昌同学
> > |
> > |
> > ccc0606fight...@163.com
> > |
>


回复: flink 输出异常数据

2023-05-31 Thread 小昌同学
你好,老师,感谢你的回复;
您说的打印到日志文件,是需要配置flink 的logback.xml 嘛,这一块的配置有一个小demo可以参考嘛


| |
小昌同学
|
|
ccc0606fight...@163.com
|
 回复的原邮件 
| 发件人 | Shammon FY |
| 发送日期 | 2023年6月1日 10:33 |
| 收件人 |  |
| 主题 | Re: flink 输出异常数据 |
Hi

可以看一下报空指针的具体异常栈,如果是你的业务代码,可以在你的处理逻辑里加上一些判断信息并打印到日志文件;如果不是你的业务代码,可以贴一下具体的异常栈信息。

On Wed, May 31, 2023 at 12:31 PM yidan zhao  wrote:

这个得靠你自己打日志吧,在可能出NPE的地方 try catch 到,然后打印原始记录。

小昌同学  于2023年5月29日周一 18:30写道:

你好,数据源是kafka,使用的是stream api


| |
小昌同学
|
|
ccc0606fight...@163.com
|
 回复的原邮件 
| 发件人 | Weihua Hu |
| 发送日期 | 2023年5月29日 15:29 |
| 收件人 |  |
| 主题 | Re: flink 输出异常数据 |
Hi,

你使用的数据源是什么呢?Kafka 吗?用的是 FlinkSQL 还是 DataStream API 呢?

方便把异常栈贴一下吗

Best,
Weihua


On Mon, May 29, 2023 at 1:36 PM 小昌同学  wrote:



各位老师,我有一个作业运行很久了,但是最近源系统有一些脏数据导致作业运行失败,看yarn的日志报错是空指针,但是我现在想把那一条脏数据捕获到,请问一下有啥办法吗?谢谢各位老师的指导


| |
小昌同学
|
|
ccc0606fight...@163.com
|



回复: flink jdbcsink 连接数的问题

2023-05-31 Thread 小昌同学
你好,老师,感谢你的回复;
我在MySQL中设置的主键不是自增主键,是一个业务主键的,所以我理解是不是这一块只能是设置并发度为1进行数据的插入


| |
小昌同学
|
|
ccc0606fight...@163.com
|
 回复的原邮件 
| 发件人 | yidan zhao |
| 发送日期 | 2023年5月31日 12:30 |
| 收件人 |  |
| 主题 | Re: flink jdbcsink 连接数的问题 |
你好,这个问题和flink无关,看你主键实现机制吧,如果是自增,那就是mysql级别自动实现的自增,跟flink搭不上关系的。

小昌同学  于2023年5月31日周三 09:41写道:

老师,你好,再请教一下,连接数与并行度有关系的话,如果插入数据的MySQL是有主键的话,是不是连接数据也就是并行度只能为1啦呀,如果是多个并行度的话,可能会造成主键冲突;
感谢各位老师的指导


| |
小昌同学
|
|
ccc0606fight...@163.com
|
 回复的原邮件 
| 发件人 | lxk |
| 发送日期 | 2023年5月30日 14:30 |
| 收件人 |  |
| 主题 | Re:flink jdbcsink 连接数的问题 |
hi,
jdbc创建链接是在SimpleJdbcConnectionProvider这个类中实现的,至于真正创建链接,则是由DriverManager来处理。
关于连接数,则是跟你的并行度有关。

















在 2023-05-30 13:55:57,"小昌同学"  写道:
各位老师,请教一下关于flink jdbcsink 连接数的问题;
我使用代码如下:在以下代码中,我查看了一下源码,并没有找到sink到MySQL时关于连接数的设定,请问这一块关于连接数的设定我应该怎么写呀;
谢谢各位老师的指导

|
outPutInfoStream.addSink(JdbcSink.sink(
"REPLACE  into InputInfo (breakCode, breakName, breakDuration, 
breakRule,breakPrimaryKey,breakStep,breakStepType,breakTime,breakSendTime,breakArgs)
 values (?,?,?,?,?,?,?,?,?,?)",
(statement, InPutInfo) -> {
statement.setString(1,InPutInfo.getBreakCode());
statement.setString(2,InPutInfo.getBreakName());
statement.setLong(3,InPutInfo.getBreakDuration());
statement.setString(4,InPutInfo.getBreakRule());
statement.setString(5,InPutInfo.getBreakPrimaryKey());
statement.setString(6, InPutInfo.getBreakStep());
statement.setString(7, InPutInfo.getBreakStepType());
statement.setString(8,InPutInfo.getBreakTime());
statement.setString(9, DateUtil.format(new Date()));
statement.setString(10, String.valueOf(InPutInfo.getBreakArgs()));
},
JdbcExecutionOptions.builder()
.withBatchSize(10)
.withBatchIntervalMs(200)
.withMaxRetries(5)
.build(),
new JdbcConnectionOptions.JdbcConnectionOptionsBuilder()
.withUrl("jdbc:mysql://111/iap?useSSL=false&useUnicode=false&failOverReadOnly=false&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&autoReconnectForPools=true&serverTimezone=Asia/Shanghai&autoReconnect=true")
.withDriverName("com.mysql.jdbc.Driver")
.withUsername("111")
.withPassword("111")
.build()
)).name("sink-mysql");
|


| |
小昌同学
|
|
ccc0606fight...@163.com
|